LeetCode刷题笔记
文章平均质量分 88
崔同学提了个桶
提桶跑路
展开
-
Leetcode刷题笔记——动态规划
layout: pagestitle: Leetcode刷题笔记——动态规划date: 2021-06-07 09:00:08categories: LeetCode刷题笔记tags: 算法1、目标和问题——基本的动态规划1.1、回溯穷举因为每一种可能都是会得到我们所需要的结果的,所以自然而然地可以想到使用回溯算法来解决class Solution { int result = 0; public int findTargetSumWays(int[] nums, i.原创 2021-06-08 09:15:25 · 180 阅读 · 0 评论 -
LeetCode刷题笔记——贪心算法
一、贪心算法概述贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解,重点在于“局部”的选取二、典型例题2.1、去除重复字符串要求字典序最小,我们就尽可能地取寻找这样的子串,使得每一个字符都出现过,并且尽可能按照“abcdefg……”这样的字典升序排列拿“bcacb”来举例第一个遍历到的字符是b,我们将其存入结果中第二个字符是c,bc的结果是满足要求的,因此我们也将其存入结果中第三个字符是a,原创 2021-05-27 10:43:19 · 231 阅读 · 0 评论 -
LeetCode刷题——回溯算法
一、回溯算法介绍回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。下面以一道leetcode题目为例讲解一下回溯算法的计算过程以及回溯算法解题的主要步骤。下面以一道leetcode题目来进行回溯算法的算法题解以及代原创 2021-05-03 17:23:18 · 768 阅读 · 0 评论 -
LeetCode刷题笔记——递归问题
一、递归的基本概念1.1、什么是递归所谓递归,就是程序调用自身的编程技巧。递归的方法或函数一定是有参的,但在对参数本身进行操作的情况下可以无返回值1.2、递归类题目的特点从递归的概念可以看出,递归类问题的最重要的特点就是一个大问题总能拆分成结构类似的小问题,最常见的像快速排序算法的实现,一个大组根据分界值可以分成左右两个小组,两个小组又可以分别各自的分界值进行分类,根据这一“”大问题分成类似小问题“的判断方式,就可以很容易地判断出哪些题目该通过递归的方式解决,下面就给出各个递归题目的详解。二、递归原创 2021-04-06 23:14:02 · 281 阅读 · 0 评论