会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
鸭子船长
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
6
7
8
9
10
11
12
13
14
···
119
下一页
2022年3月1日
Leetcode 494. 目标和(中等)回溯算法
摘要: labuladong讲解 先使用简单的回溯算法解决问题 然后添加哈希表作为备忘录,解决回溯中的重叠子问题 最后通过推导得出状态转移,使用动态规划解决问题 494. 目标和(中等) 题目: 给你输入一个非负整数数组 nums 和一个目标值 target,现在你可以给每一个元素 nums[i] 添加正号
阅读全文
posted @ 2022-03-01 11:52 鸭子船长
阅读(103)
评论(0)
推荐(0)
2022年2月28日
Leetcode 931. 下降路径最小和(中等) 动态规划
摘要: 931. 下降路径最小和(中等) 输入为一个 n * n 的二维数组 matrix,请你计算从第一行落到最后一行,经过的路径和最小为多少。 就是说你可以站在 matrix 的第一行的任意一个元素,需要下降到最后一行。 每次下降,可以向下、向左下、向右下三个方向移动一格。也就是说,可以从 matrix
阅读全文
posted @ 2022-02-28 20:19 鸭子船长
阅读(44)
评论(0)
推荐(0)
Leetcode 26. 删除有序数组中的重复项(简单) 83. 删除排序链表中的重复元素(简单) 27. 移除元素(简单) 283. 移动零(简单)数组操作原地移除
摘要: labuladong讲解 基本思想都是使用快慢指针,快指针去查找值,慢指针保存值 26. 删除有序数组中的重复项(简单) 思路: 我们让慢指针 slow 走在后面,快指针 fast 走在前面探路,找到一个不重复的元素就告诉 slow 并让 slow 前进一步。这样当 fast 指针遍历完整个数组 n
阅读全文
posted @ 2022-02-28 16:59 鸭子船长
阅读(36)
评论(0)
推荐(0)
Leetcode 316. 去除重复字母(中等) 1081. 不同字符的最小子序列(中等) 字符串去重
摘要: labuladong讲解 316. 去除重复字母(中等) 题目: 思路: 题目的要求总结出来有三点: 要求一、要去重。 要求二、去重字符串中的字符顺序不能打乱 s 中字符出现的相对顺序。 要求三、在所有符合上一条要求的去重字符串中,字典序最小的作为最终结果。 比如说输入字符串 s = "babc",
阅读全文
posted @ 2022-02-28 16:29 鸭子船长
阅读(158)
评论(0)
推荐(0)
Leetcode 528. 按权重随机选择(中等) 前缀和数组+二分查找左侧边界
摘要: labuladong讲解 528. 按权重随机选择(中等) 题目: 思路: 对于[1,7],我们可以将其膨胀为长度为[1,7]的线段,而后产生[1,7]的int随机数x,当x落在1时返回0,当x落在2-7时返回1.实现等概率。 扩展的线段,可以用前缀和数组表示。 查找与x最接近的左侧数值时可以使用二
阅读全文
posted @ 2022-02-28 15:31 鸭子船长
阅读(66)
评论(0)
推荐(0)
Leetcode 380. 常数时间插入、删除和获取随机元素(中等) 710. 黑名单中的随机数(困难) 使用数组实现随机查找以及等概率随机返回
摘要: labuladong讲解 380. 常数时间插入、删除和获取随机元素(中等) 题目: 题目理解: 就是说就是让我们实现如下一个类: class RandomizedSet { public: /** 如果 val 不存在集合中,则插入并返回 true,否则直接返回 false */ bool ins
阅读全文
posted @ 2022-02-28 15:06 鸭子船长
阅读(73)
评论(0)
推荐(0)
Leetcode 870. 优势洗牌(中等) 田忌赛马策略
摘要: labuladong讲解 870. 优势洗牌(中等) 题目: 给你输入两个长度相等的数组 nums1 和 nums2,请你重新组织 nums1 中元素的位置,使得 nums1 的「优势」最大化。 如果 nums1[i] > nums2[i],就是说 nums1 在索引 i 上对 nums2[i] 有
阅读全文
posted @ 2022-02-28 12:53 鸭子船长
阅读(364)
评论(0)
推荐(0)
Leetcode 410. 分割数组的最大值(困难) 二分查找高阶应用
摘要: labuladong讲解 410. 分割数组的最大值(困难) 题目: 题目讲解: 给你输入一个数组 nums 和数字 m,你要把 nums 分割成 m 个子数组。 肯定有不止一种分割方法,每种分割方法都会把 nums 分成 m 个子数组,这 m 个子数组中肯定有一个和最大的子数组对吧。 我们想要找一
阅读全文
posted @ 2022-02-28 11:31 鸭子船长
阅读(71)
评论(0)
推荐(0)
2022年2月27日
Leetcode 875. 爱吃香蕉的珂珂(中等) 1011. 在D天内送达包裹的能力(中等) 二分查找高级用法
摘要: labuladong讲解 代码框架 // 函数 f 是关于自变量 x 的单调函数 int f(int x) { // ... } // 主函数,在 f(x) == target 的约束下求 x 的最值 int solution(int[] nums, int target) { if (nums.l
阅读全文
posted @ 2022-02-27 23:07 鸭子船长
阅读(78)
评论(0)
推荐(0)
2022年2月26日
Leetcode 704. 二分查找(简单) 34. 在排序数组中查找元素的第一个和最后一个位置(中等) 二分查找以及边界查找
摘要: labuladong解法 704. 二分查找(简单) 题目: 二分查找 思路: class Solution { public: int search(vector<int>& nums, int target) { int left=0,right=nums.size()-1; while(lef
阅读全文
posted @ 2022-02-26 23:12 鸭子船长
阅读(47)
评论(0)
推荐(0)
上一页
1
···
6
7
8
9
10
11
12
13
14
···
119
下一页
公告