![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++算法
Linger0519
无
展开
-
[leetcode][1122. 数组的相对排序]
给你两个数组,arr1 和arr2,arr2中的元素各不相同arr2 中的每个元素都出现在arr1中对 arr1中的元素进行排序,使 arr1 中项的相对顺序和arr2中的相对顺序相同。未在arr2中出现过的元素需要按照升序放在arr1的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]输出:[2,2,2,1,4,3,3,9,6,7,19]提示:1 <= arr1.len...原创 2021-05-08 23:54:44 · 161 阅读 · 0 评论 -
[leetcode][5728. 最少侧跳次数]
class Solution {public: int minSideJumps(vector<int>& obstacles) { vector<vector<int>> dp(4,vector<int>(obstacles.size(),0)); dp[1][0]=INT_MAX,dp[2][0]=0,dp[3][0]=INT_MAX; for(int i=1;i<obstacles.原创 2021-04-11 20:49:16 · 145 阅读 · 0 评论 -
[leetcode][1262. 可被三整除的最大和]
1262. 可被三整除的最大和难度中等81给你一个整数数组nums,请你找出并返回能被三整除的元素最大和。示例 1:输入:nums = [3,6,5,1,8]输出:18解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。示例 2:输入:nums = [4]输出:0解释:4 不能被 3 整除,所以无法选出数字,返回 0。示例 3:输入:nums = [1,2,3,4,4]输出:12解释:选出数字 1, 3, 4 以及 ..原创 2020-10-04 21:33:44 · 174 阅读 · 0 评论 -
[leetcode][763. 划分字母区间]
字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。示例 1:输入: S = "ababcbacadefegdehijhklij"输出: [9,7,8]解释:划分结果为 "ababcbaca", "defegde", "hijhklij"。每个字母最多出现在一个片段中。像 "ababcb...原创 2018-10-05 15:01:57 · 243 阅读 · 0 评论 -
[leetcode][129. 求根到叶子节点数字之和]
给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 25解释:从根到叶子节点路径 1->2 ...原创 2018-09-22 22:56:03 · 156 阅读 · 0 评论 -
[leetcode][80. 删除排序数组中的重复项 II]
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。你不需要考虑数组中超出新长...原创 2018-09-22 23:59:32 · 135 阅读 · 0 评论 -
[leetcode][434. 字符串中的单词数]
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5常见方法,双指针往后跑class Solution {public: int countSegments(string s) { int result = 0;...原创 2018-09-23 08:26:39 · 237 阅读 · 0 评论 -
[leetcode][216. 组合总和 III]
找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。 解集不能包含重复的组合。 示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]] class ...原创 2018-10-09 23:18:10 · 139 阅读 · 0 评论 -
[leetcode][318. 最大单词长度乘积]
给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母。你可以认为每个单词只包含小写字母。如果不存在这样的两个单词,返回 0。示例 1:输入: ["abcw","baz","foo","bar","xtfn","abcdef"]输出: 16 解释: 这两个单词为 "abcw&q原创 2018-10-05 12:20:54 · 503 阅读 · 1 评论 -
[leetcode][52. N皇后 II]
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回 n 皇后不同的解决方案的数量。示例:输入: 4输出: 2解释: 4 皇后问题存在如下两个不同的解法。[ [".Q..", // 解法 1 "...Q", "Q...", "..Q."], ["..Q....原创 2018-09-25 22:33:19 · 133 阅读 · 0 评论 -
[leetcode][41. 缺失的第一个正数]
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1说明:你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。class Solution {public: int firs...原创 2018-09-11 23:23:31 · 154 阅读 · 0 评论 -
[leetcode][128. 最长连续序列]
给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。解答:菜鸟解法,排序+去重+计算最大连续个数,提交结果居然还是100%靠前class Solution {public: int longe...原创 2018-09-09 21:49:14 · 398 阅读 · 0 评论 -
[leetcode][289. 生命游戏]
根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞具有一个初始状态 live(1)即为活细胞, 或 dead(0)即为死细胞。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡; ...原创 2018-09-09 22:14:59 · 719 阅读 · 0 评论 -
全排列算法和实现
全排列在非常多程序都有应用,是一个非经常见的算法,常规的算法是一种递归的算法,这样的算法的得到基于下面的分析思路。 给定一个具有n个元素的集合(n>=1),要求输出这个集合中元素的全部可能的排列。 一、递归实现 比如,假设集合是{a,b,c},那么这个集合中元素的全部排列是{(a,b,c),(a,c,b),(b,a,c),(b,c,a),(c,a,b...转载 2018-09-06 23:10:03 · 228 阅读 · 0 评论 -
[leetcode][21. 合并两个有序链表]
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4从答案来看,这个题的链表不带头结点的,好恶心。。。 /** * Definition for singly-linked list. * s...原创 2018-09-12 23:45:22 · 145 阅读 · 0 评论 -
[leetcode][59. 螺旋矩阵 II]
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]解答:菜鸟解法class Solution {public: vector<vector<int>> generateMatri...原创 2018-09-11 00:06:57 · 298 阅读 · 0 评论 -
[leetcode][删除链表的倒数第N个节点]
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?不想用两个间距点一起跑的方法,用个队列吧。。。/** *...原创 2018-09-13 13:21:01 · 112 阅读 · 0 评论 -
[leetcode][37. 解数独]
编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。空白格用 '.' 表示。一个数独。答案被标成红色。Note:给定的数独序列只包含数字 1-9 和字符 '.' 。 你可以假设给定的数独只有唯一解...原创 2018-09-24 00:07:09 · 159 阅读 · 0 评论 -
[leetcode][401. 二进制手表]
二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,上面的二进制手表读取 “3:25”。给定一个非负整数 n 代表当前 LED 亮着的数量,返回所有可能的时间。案例:输入: n = 1返回: ["1:00", "2:00", "4:00", "8:00", "0:0...原创 2018-09-08 23:35:29 · 386 阅读 · 0 评论