leecode
MLH&&MLH
这个作者很懒,什么都没留下…
展开
-
C语言:下一个排列
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1从右向左遍历 若都为升序 那么根据题目它的下一个值就是逆置数...原创 2019-06-10 12:49:00 · 763 阅读 · 0 评论 -
C语言:组合总和
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。 示例 1:输入: candidates = [2,3,6,7], target = 7,所求解集为:[[...原创 2019-06-11 16:03:34 · 1067 阅读 · 0 评论 -
C语言:缺失的第一个正数
这里先屏蔽两种情况1.没有一的显然没有一,第一个没出现的整数就是一2.数组长度为n,正好从1排到n的情况,显然为n+1剩下的就是普通情况了由情况1,2屏蔽后我们可以处理数据。把小于0的数都变为1(情况一已经处理没有1的情况)把大于n的数全变为1(同理第二种情况)。哈希表判断数据是否出现过的原理就是看Q[a[i]]的值是否为正数,为正数a[i]就出现过。但是这里对空间复杂度要求是常数级。换...原创 2019-06-11 20:09:22 · 534 阅读 · 0 评论