题目来源:
leetcode题目,网址:8038. 收集元素的最少操作次数 - 力扣(LeetCode)
解题思路:
记录 1,2,3.....k 在数组中出现的最后一个位置,所有位置中的最小者 min 即为需要删除的最后一个元素,因此 nums.size()-min 即为所求。
解题代码:
class Solution {public int minOperations(List<Integer> nums, int k) {int[] cntK=new int[k];for(int i=0;i<nums.size();i++){if(nums.get(i)<=k){cntK[nums.get(i)-1]=i;}}int min=cntK[0];for(int i=0;i<cntK.length;i++){min=Math.min(min,cntK[i]);}return nums.size()-min;}
}
总结:
无官方题解。题解区有的是基于位运算解题。