leecode数组
给你一个整数数组 nums
。如果任一值在数组中出现 至少两次 ,返回 true
;如果数组中每个元素互不相同,返回 false
。
示例 1:
输入:nums = [1,2,3,1] 输出:true
示例 2:
输入:nums = [1,2,3,4] 输出:false
示例 3:
输入:nums = [1,1,1,3,3,4,3,2,4,2] 输出:true
1 class Solution { 2 public boolean containsDuplicate(int[] nums) { 3 Arrays.sort(nums);//先对它进行排序 4 for (int i = 0; i < nums.length - 1; i++) { 5 if (nums[i] == nums[i + 1]) {//双指针 6 return true; 7 } 8 } 9 return false; 10 } 11 }
给定一个数组 nums
,编写一个函数将所有 0
移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。
示例 1:
[0,1,0,3,12]
[1,3,12,0,0]
示例 2:
[0]
[0]
public void moveZeroes(int[] nums) { int[] nums2 = nums; int j=0; int count=0; for(int i=0;i<nums2.length;i++){ if(nums2[i]!=0){ nums[j]=nums2[i]; j++; } } for(int k=0;k<nums.length-j;k++){ nums[k+j]=0; } }
给定一个大小为 n
的数组 nums
,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋
的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例 1:
输入:nums = [3,2,3] 输出:3
示例 2:
输入:nums = [2,2,1,1,1,2,2] 输出:2
1 public int majorityElement(int[] nums) { 2 Arrays.sort(nums); 3 int a = 0; 4 int count = 1; 5 int temp = nums[0]; 6 for(int i=1;i<nums.length;i++){ 7 if(temp==nums[i]){ 8 count++; 9 if(count>nums.length>>>1){ 10 break; 11 } 12 }else{ 13 temp = nums[i]; 14 count=1; 15 } 16 } 17 return temp; 18 }
给你一个整数数组 nums
和一个整数 k
,判断数组中是否存在两个 不同的索引 i
和 j
,满足 nums[i] == nums[j]
且 abs(i - j) <= k
。如果存在,返回 true
;否则,返回 false
。
示例 1:
输入:nums = [1,2,3,1], k= 3 输出:true
示例 2:
输入:nums = [1,0,1,1], k=1 输出:true
示例 3:
输入:nums = [1,2,3,1,2,3], k=2 输出:false
1 public boolean containsNearbyDuplicate(int[] nums, int k) { 2 3 for(int i=0;i<nums.length;i++){ 4 for (int j = i+1; j <=i+k &&j<nums.length; j++) { 5 int value = nums[j]; 6 if(nums[i]==value){ 7 return true; 8 } 9 } 10 } 11 return false; 12 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?