小伙伴们新的学期又要开始了,您是否已经做好了冲刺的准备了呢?如果您想在这个学期收获的比别人更多我建议给肥肥
点个关注。我们一起来增长知识,无论你是考研还是找工作或者是要加薪。这里都是一个不错的选择。让我们红尘作伴,一起肥学!!!
实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列(即,组合出下一个更大的整数)。
如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。
必须 原地 修改,只允许使用额外常数空间。
示例 1:输入:nums = [1,2,3]输出:[1,3,2]
示例 2:输入:nums = [3,2,1]输出:[1,2,3]
示例 3:输入:nums = [1,1,5]输出:[1,5,1]
示例 4:输入:nums = [1]输出:[1]
提示:1 <= nums.length <= 1000 <= nums[i] <= 100
我觉得这种题肯定是要用到遍历的,关于遍历的题我们也做过好几道了有滑动窗口,中心扩散法。。。你会发现这些方法其实都会用到双指针。所以我们得出结论这种题我们最最最普遍的方法就是构造双指针,至于指针怎么移动就看你的解题技巧了。
class Solution { public void nextPermutation(int[] nums) { //倒着遍历所以i是num的长度-2 int i = nums.length - 2; //找到比前一个比后一个小的数组下标比如数组[2,3,9,7,6]这个循环结束时i指向3 while (i >= 0 && nums[i] >= nums[i + 1]) { i--; } if (i >= 0) { int j = nums.length - 1; //还是[2,3,9,7,6]这个例子i指向3以后找比三大的数这个时候就时6 while (j >= 0 && nums[i] >= nums[j]) { j--; } //然后交换3和6的位置 swap(nums, i, j); } //这个函数的主要作用就是将6后面的数(当然这里没有数我们假设有但是肯定时比6小的就假设为 //2,1两个吧[2,3,9,7,6,2,1])2,1倒叙排列变成最小的1,2 reverse(nums, i + 1); } public void swap(int[] nums, int i, int j) { int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; } public void reverse(int[] nums, int start) { int left = start, right = nums.length - 1; while (left < right) { swap(nums, left, right); left++; right--; } }}
Java遍历Map集合有哪几种方式?各自效率怎么样?
方式:
entrySet
,key+value
,key
,value
效率:
1)map的key采用简单形式和复杂形式时,查找的效率是不同的,简单的key值效率更高2)当数据量大的时候,采用entrySet遍历key+value的效率要高于keySet3)当我们只需要取得value值时,采用value来遍历效率更高
?小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶
?python有趣练手项目里面包括了像《机器人尬聊》《恶搞程序》这样的有趣文章,可以让你快乐学python练手项目专栏
?另外想学JavaWeb进厂的同学可以看看这个专栏:传送们
?这是个面试和考研的算法练习我们一起加油上岸之路
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/119313.html
文章目录 ☀️ 前言 ☀️? 作者简介 ?? 一、题目描述 ?? 二、题目解析 ?? 三、代码 ?☁️ 1️⃣. python ☁️❄️ 2️⃣. C# ❄️ ? 结语 ? ☀️ 前言 ☀️ 算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题! ? 作者简介 ? 大家好,我是布小禅,一个尽力让无情的代码变得生动有趣的IT小白,很高兴能偶认识你,关注我...
阅读 3422·2021-11-18 10:02
阅读 1575·2021-10-12 10:12
阅读 2938·2021-10-09 09:53
阅读 4658·2021-09-09 09:34
阅读 726·2021-09-06 15:02
阅读 2731·2021-08-05 10:02
阅读 3094·2019-08-30 15:44
阅读 3093·2019-08-28 18:04