算法
Borange54
这个作者很懒,什么都没留下…
展开
-
【剑指Offer】圆圈中最后剩下的数字
【题目描述】 0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。 【示例】 输入: n = 5, m = 3 输出: 3 输入: n = 10, m = 17 输出: 2 【实现思路】 【第一轮后面的数字应该是[0, 1, 2 ,3 ,4],手误打错了转载 2022-03-10 21:49:16 · 114 阅读 · 0 评论 -
【LeetCode】5. 最长回文子串
【题目描述】 给你一个字符串 s,找到 s 中最长的回文子串。 【示例】 输入:s = “babad” 输出:“bab” 解释:“aba” 同样是符合题意的答案。 输入:s = “babad” 输出:“bab” 解释:“aba” 同样是符合题意的答案。 【实现思路】 dp的定义 二维dp题,如果定义dp[ i ][ j ] 的意义是i~j中最长回文子串的大小,那么在此基础上 下一次dp时,无法确定最长子串的大小,因此我们用二维bool数组,dp意义是dp[ i ][ j ] 表示 i~j是否是回文原创 2022-03-10 21:09:16 · 112 阅读 · 0 评论 -
【LeetCode】3.无重复字符的最长子串
题目描述: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 题目样例: 输入: s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 输入: s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 思路: 滑动窗口的思想,先把窗口扩充到最大(右指针指向的字符在窗口出现过),然后计算窗口大小,滑动左指针; 代码实现: int lengthOfLongestSubstri原创 2022-03-10 20:50:56 · 117 阅读 · 0 评论 -
删除排序数组中的重复项 II
题目描述: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 输入:nums = [1,1,1,2,2,3] 输出:5, nums = [1,1,2,2,3] 解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。 不需要考虑数组中超出新长度后面的元素。 思路: 先把前两个赋值到0,1的原创 2022-03-08 12:01:46 · 91 阅读 · 0 评论 -
【刷题】leetcode.40 组合问题三
点击直达 题目描述:给定一个数组 candidates 和一个目标数 target ,找出candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates = [10,1,2,7,6,1,5], target = 8, 输出: [ [1,1,6], [1,2,5], [1,7], [2,6] ] 示例 2: 输入: candidates = [2,5,2,1,2], tar原创 2021-11-08 21:11:36 · 81 阅读 · 0 评论