【算法刷题day27】Leetcode:39. 组合总和、40. 组合总和 II、131. 分割回文串

文章目录

    • Leetcode 39. 组合总和
      • 解题思路
      • 代码
      • 总结
    • Leetcode 40. 组合总和 II
      • 解题思路
      • 代码
      • 总结
    • Leetcode 131. 分割回文串
      • 解题思路
      • 代码
      • 总结

草稿图网站
java的Deque

Leetcode 39. 组合总和

题目:39. 组合总和
解析:代码随想录解析

解题思路

还是回溯三部曲

代码

class Solution {List<List<Integer>> res = new ArrayList<>();List<Integer> paths = new ArrayList<>();int curSum = 0;private void backtracking(int[] candidates, int target, int startIndex) {if (curSum >= target) {if (curSum == target)res.add(new ArrayList<>(paths));return;}for (int i = startIndex; i < candidates.length; i++) {paths.add(candidates[i]);curSum += candidates[i];backtracking(candidates, target, i);paths.remove(paths.size() -1);curSum -= candidates[i];}}public List<List<Integer>> combinationSum(int[] candidates, int target) {backtracking(candidates, target, 0);return res;}
}

总结

越来越熟练了

Leetcode 40. 组合总和 II

题目:40. 组合总和 II
解析:代码随想录解析

解题思路

递归加一定的减枝,如果第一个元素一样的话,就跳过。

代码

class Solution {List<List<Integer>> res = new ArrayList<>();List<Integer> paths = new ArrayList<>();int curSum = 0;private void backtracking(int[] candidates, int target, int startIndex) {if (curSum >= target) {if (curSum == target)res.add(new ArrayList<>(paths));return;}for (int i = startIndex; i < candidates.length; i++) {if (i > startIndex && candidates[i] == candidates[i-1])continue;paths.add(candidates[i]);curSum += candidates[i];backtracking(candidates, target, i + 1);paths.remove(paths.size() - 1);curSum -= candidates[i];}}public List<List<Integer>> combinationSum2(int[] candidates, int target) {Arrays.sort(candidates);backtracking(candidates, target, 0);return res;}
}

总结

暂无

Leetcode 131. 分割回文串

题目:131. 分割回文串
解析:代码随想录解析

解题思路

一个函数判断是否是回文
一个回溯函数

代码

class Solution {List<List<String>> res = new ArrayList<>();List<String> paths = new ArrayList<>();private boolean isPalindrome(String s, int begin, int end) {for (int i = begin, j = end; i < j; i++, j--) {if (s.charAt(i) != s.charAt(j))return false;}return true;}private void backtracking(String s, int startIndex){if (startIndex == s.length()) {res.add(new ArrayList<>(paths));return;}for (int i = startIndex; i < s.length(); i++) {if (isPalindrome(s, startIndex, i)) {paths.add(s.substring(startIndex, i+1));backtracking(s, i+1);paths.remove(paths.size()-1);}}}public List<List<String>> partition(String s) {backtracking(s, 0);return res;}
}

总结

暂无

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/821725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一下易语言post get使用WinHttp的操作

最近在学易语言&#xff0c;在进行通讯的时候&#xff0c;出现一些问题&#xff0c;现在记录下来&#xff0c;避免以后继续忘记&#xff0c; 先声明文本型变量jsonPostData jsonPostData &#xff1d; “{hostname:” &#xff0b; hostnameTxt &#xff0b; “,hardcode:” &…

【ARM 裸机】I.MX 启动方式之启动头文件 2

接上一节&#xff1a;【ARM 裸机】I.MX 启动方式之启动头文件 1&#xff1b; 2.3、DCD DCD&#xff0c;Device Configuration Data &#xff0c;就是配置 6ULL 寄存器的&#xff0c;DCD 数据最大限制 1768 字节&#xff1b; CCGR0 是不是很熟悉&#xff1f;对&#xff0c;在…

【数据挖掘】课程大纲

第1章 数据挖掘基础 1.1 某知名连锁餐饮企业的困惑 1.2 从餐饮服务到数据挖掘 1.3 数据挖掘的基本任务 1.4 数据挖掘建模过程 1.4.1 定义挖掘目标 1.4.2 数据取样 1.4.3 数据探索 1.4.4 数据预处理 1.4.5 挖掘建…

在flask服务中远程读取该Excel的内容

在flask服务中远程读取该Excel的内容: from flask import Flask, jsonify import requests import pandas as pd import os import tempfile app Flask(__name__) app.route(/read_excel, methods[GET]) def read_excel(): # Excel 文件的 URL excel_url http…

选购AWS服务时需要注意哪些问题?九河云详细评测

随着云计算技术的广泛应用,亚马逊网络服务(AWS)受到越来越多企业的欢迎。这是因为他们提供了丰富的云计算产品和服务,可满足企业不同阶段的IT需求。但在选购AWS服务时,企业仍需谨慎考虑以下几个方面&#xff1a; 首先要确定自身的需求&#xff0c;并评估成本效益。企业在选择A…

Yarn--npm Windows安装使用

Yarn简介及Windows 在现代的Web开发中&#xff0c;JavaScript项目的依赖管理是一个复杂而重要的任务。幸运的是&#xff0c;我们有多种工具可以帮助我们处理这些依赖&#xff0c;其中之一就是Yarn。Yarn是一个由Facebook、Google、Tilde和Exponent联合开发的跨平台包管理工具&a…

【静态分析】软件分析课程实验-前置准备

课程&#xff1a;南京大学的《软件分析》课程 平台&#xff1a;Tai-e&#xff08;太阿&#xff09;实验作业平台 1. 实验概述 Tai-e 是一个分析 Java 程序的静态程序分析框架&#xff0c;相比于已有的知名静态程序分析框架&#xff08;如 Soot、Wala 等&#xff09;&#xf…

java的总结

由于最近已经开始做项目了&#xff0c;所以对java的基础知识的学习都是一个离散化的状态没有一个很系统的学习&#xff0c;都是哪里不会就去学哪里。 先来讲一下前后端的区别吧 在我的理解前端就是&#xff1a;客户端在前端进行点击输入数据&#xff0c;前端将这些数据整合起来…

AI智能体技术突破:引领科技新浪潮

AI智能体技术突破&#xff1a;引领科技新浪潮 基于大模型的 AI Agent 工作流基于大模型的 AI Agent 工作流效果AI Agent 的四种设计模式Reflection 反思设计模式Tool use 工具使用设计模式Planning 规划设计模式Multiagent collaboration 多智能体协作设计模式 吴恩达在红杉美国…

Flink CDC在阿里云DataWorks数据集成应用实践

摘要&#xff1a;本文整理自阿里云 DataWorks 数据集成团队的高级技术专家 王明亚&#xff08;云时&#xff09;老师在 Flink Forward Asia 2023 中数据集成专场的分享。内容主要为以下四部分&#xff1a; 阿里云 DataWorks 数据集成介绍基于 Flink CDC 数据集成新版引擎架构和…

AGI来了?特拉斯用大模型帮助自动驾驶

Elon Musk 的 xAI 刚刚推出了Grok-1.5 Vision&#xff0c;这是对开源模型的多模式升级&#xff0c;允许处理视觉信息。 细节&#xff1a; Grok 1.5V 现在可以处理文档、图表、屏幕截图和照片等视觉信息&#xff0c;重点是对现实世界的理解。 xAI 创建了一个新的“RealWorldQA”…

学习java第四十五天

Spring框架中有哪些不同类型的事件&#xff1f; 上下文更新事件&#xff08;ContextRefreshedEvent&#xff09;&#xff1a;在调用ConfigurableApplicationContext 接口中的refresh()方法时被触发。 上下文开始事件&#xff08;ContextStartedEvent&#xff09;&#xff1a;…

【鸿蒙开发】生命周期

1. UIAbility组件生命周期 UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态。 UIAbility生命周期状态 1.1 Create状态 Create状态为在应用加载过程中&#xff0c;UIAbility实例创建完成时触发&#xff0c;系统会调用onCreate()回调。可以在该回调中…

会议室预约小程序开源版开发

会议室预约小程序开源版开发 支持设置免费预约和付费预约、积分兑换商城、积分签到等 会议室类目&#xff0c;提供多种类型和设施的会议室选择&#xff0c;满足不同会议需求。 预约日历&#xff0c;展示会议室预约情况&#xff0c;方便用户选择空闲时段。 预约记录&#xff0…

秋招复习笔记——八股文部分:网络基础

TCP/IP 网络模型 应用层 最上层的&#xff0c;也是我们能直接接触到的就是应用层&#xff08;Application Layer&#xff09;&#xff0c;我们电脑或手机使用的应用软件都是在应用层实现。那么&#xff0c;当两个不同设备的应用需要通信的时候&#xff0c;应用就把应用数据传…

java绘图在ubuntu报错

把JRT网站部署到ubuntu桌面系统上&#xff0c;开始没测试绘图部分功能&#xff0c;只试了连PostGreSql部分正常。后面试了生成位图部分发现报错。 报下面错误&#xff1a; (ColorModel.java:220)\n\tat java.desktop/java.awt.image.BufferedImage.(BufferedImage.java:286)\n…

【云原生数据库:原理与实践】2 -数据库与云原生

2-数据库与云原生 2.1 数据库在云时代的发展 云计算为计算问题提供了一个解决方案&#xff0c;即把信息化需要的基础设施作为一种服务来提供&#xff08;Infrastructure as a Service&#xff0c;IaaS&#xff09;&#xff0c;就像生活领域的水电煤气服务一样&#xff0c;企业…

windows Webrtc +VS2019 (M124)下载编译以及调通测试demo

下载depot tools 设置梯子 git config --global http.proxy 127.0.0.1:10000 git config --global https.proxy 127.0.0.1:10000 下载 $ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 设置depot_tools目录为环境变量 下载webrtc # 设置系统代…

2024年4月最新版GPT

2024年4月最新版ChatGPT/GPT4, 附上最新的使用教程。 随着人工智能技术的不断发展&#xff0c;ChatGPT和GPT4已经成为了人们日常生活中不可或缺的助手。2024年4月,OpenAI公司推出了最新版本的GPT4,带来了更加强大的功能和更加友好的用户体验。本文将为大家带来最新版GPT4的实用…

微软提供用于测试框架的SDK

微软发布了 MSTest SDK。 MSTest SDK基于 MSBuild Project SDK 系统构建并基于MSTest 运行程序&#xff0c;旨在为开发人员提供更好的使用 Microsoft 单元测试框架 MSTest 进行测试的体验。 微软表示&#xff0c; 4 月 11 日发布的MSTest SDK通过合理的默认设置和灵活的选项使…