LeetCode
文章平均质量分 68
刷题记录
peter123123123123
路漫漫其修远兮,吾将上下而求索!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeeCode——回溯法、动态规划、贪心法、分治法(快速说明)
1. 可以搜索整个解空间,找到最优解。2. 不需要预先知道问题的解可能在哪里。1. 时间复杂度高,因为需要遍历整个解空间。2. 需要较大的空间存储搜索轨迹。1. 剪枝优化。2. 双向搜索。1. 重复计算较少,效率高。2. 可以通过将问题划分为多个子问题来简化问题。1. 需要存储中间结果,占用空间较大。2. 不能很好地处理某些非最优子结构的问题。1. 记忆化搜索。2. 状态压缩。1. 算法简单,易于实现。2. 通常时间效率较高。1. 得到的不一定是最优解,很难证明其正确性。原创 2023-05-30 15:59:23 · 2070 阅读 · 0 评论 -
LeetCode——【第一周】
其实递归如果做的多了,真的挺简单的!主要想清楚几点问题就行了1.这个问题的子问题是什么。2.当前层要干什么事情。3.递归出口。想清楚这几点就好啦。 很多刚接触递归的同学习惯往深处想,就想想清楚下一层,下下层到底咋回事,千万别!这样永远也想不清楚的,你只要把当前层的事情干好,边界条件找好,深层自然而然就是对的。千万别想那么深。原创 2022-09-05 20:40:50 · 443 阅读 · 0 评论 -
LeetCode每日一题(三)——【轮转数组】
问题描述:给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]原因分析:【这是大佬总结的,在这里谢谢小甜甜大佬】此题可以采用头插法,一个一个的移动。但是有种更加简单的选择数组的方式。 ..原创 2022-03-05 15:51:17 · 897 阅读 · 0 评论 -
LeetCode每日一题(二)——【贪心 】
题目:如果字符串中不含有任何 'aaa','bbb' 或 'ccc' 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」。给你三个整数 a,b ,c,请你返回 任意一个 满足下列全部条件的字符串 s:s 是一个尽可能长的快乐字符串。s 中 最多 有a 个字母 'a'、b个字母 'b'、c 个字母 'c' 。s 中只含有 'a'、'b' 、'c' 三种字母。如果不存在这样的字符串 s ,请返回一个空字符串 ""。分析:使用贪心算法:每次都选择剩下数量最多的字母添加 ,因为 数.原创 2022-02-07 23:13:22 · 878 阅读 · 0 评论 -
LeetCode每日一题(一)——【二分查找】
题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。解决思路:1、我们知道了元素长度,即:n。2、而且这个数组是从小到大的顺序排列好的。3、那我们就可以设定好区间,而通过区间中的左右相加再除2获得中间值middle。4、通过middle索引,让nums数组中的元素和target比较。5、如果数组的元素大于target,那么就往左边的区间,再次进行二分法,进行原创 2022-02-06 08:52:19 · 259 阅读 · 0 评论
分享