随笔分类 -  LeetCode

摘要:题目 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 1,2,3 → 1,3,2 3,2,1 阅读全文
posted @ 2020-08-09 21:10 阳离子 阅读(107) 评论(0) 推荐(0)
摘要:题目 给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 思路 动态规划问题,但是无法像最长连续子序列那样来处理。 在 问题中,我们维护了 ,那么我们在这个问题中,也维护一个 。 因为 ,简单来说, 。 因此还要维护 ,当更新 阅读全文
posted @ 2020-05-17 22:41 阳离子 阅读(147) 评论(0) 推荐(0)
摘要:题目描述 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。 不要使用系统的 Math.random() 方法。 题解 (rand_Y 1) X + rand_X = 可以生成[1, X Y]的等概率随机数。 在本题 阅读全文
posted @ 2020-05-17 22:18 阳离子 阅读(334) 评论(0) 推荐(0)
摘要:题意 给出一个区间的集合,请合并所有重叠的区间。 示例 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 思路 贪心,按照每个区间的开始值,从小到大排序 阅读全文
posted @ 2020-03-05 20:24 阳离子 阅读(575) 评论(0) 推荐(0)
摘要:思路 用一个数组记录乘积的结果,最后处理进位。 代码 阅读全文
posted @ 2020-02-28 15:25 阳离子 阅读(116) 评论(0) 推荐(0)
摘要:题目 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度 思路 unordered__set 具备set互异性的特点,同时对插入的数据保留原顺序,即unordered。 本题的思想为“滑动窗口”,用unordered_set记录已扫描的字符,在插入前判断当前字符是否存在在已扫描的序列中。若存 阅读全文
posted @ 2020-02-28 12:01 阳离子 阅读(119) 评论(0) 推荐(0)
摘要:题目 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 思路 定义一个数组 代表第一个字符串前i个字符转换为第二个字符串前j个字符串所需要的缩少操作数。 如果wor 阅读全文
posted @ 2020-02-28 11:54 阳离子 阅读(170) 评论(0) 推荐(0)
摘要:题目 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 样例 示例 阅读全文
posted @ 2020-02-27 21:27 阳离子 阅读(224) 评论(0) 推荐(0)