![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数组
今天你做题了吗
这个作者很懒,什么都没留下…
展开
-
[力扣41]缺失的第一个正数
思路1、遍历一遍数组,如果nums[i]>=1且<=nums.length,将该值放入数组相应的位置。2、遍历数组,如果相应的下标上没有数字,那就返回该数字。3、如果遍历一遍,都有数字,那就返回数组的长度+1代码public int firstMissingPositive(int[] nums) { int[] temp = new int[nums.length]; for(int i=0;i<nums.length;i++){原创 2022-04-17 17:13:05 · 257 阅读 · 1 评论 -
【力扣31】下一个排列
思路1、倒着遍历数组,寻找到一个nums[i]>nums[i-1]停止2、从i位置到数组结束,找到最小的比nums[i-1]大的元素,和nums[i-1]进行交换3、从i位置到数组结束进行排序4、如果不存在nums[i]>nums[i-1],则对数组整个进行排序代码 public void nextPermutation(int[] nums) { int flag=0; for(int i=nums.length-1;i>0;i--){原创 2022-04-17 16:42:54 · 237 阅读 · 0 评论 -
【力扣300】最长递增子序列
思路1、对数组的每一位,找出该位前面的比他小的元素的最长子序列长度max2、该位的最长子序列长度为:max+1 public int lengthOfLIS(int[] nums) { int[][] temp=new int[nums.length][2]; int res=0; for(int i=0;i<nums.length;i++){ temp[i][0]=nums[i]; int原创 2022-04-14 16:40:55 · 61 阅读 · 0 评论 -
【力扣215K大元素】
思路将数组中的元素放在大根堆中,弹出第k个元素即为第k大元素。代码 public int findKthLargest(int[] nums, int k) { PriorityQueue<Integer> queue = new PriorityQueue<>(new Comparator<Integer>() { @Override public int compare(Integer o1, In原创 2022-03-20 16:22:46 · 64 阅读 · 0 评论