求衆數
給定一個大小爲 n 的數組,找到其中的衆數。衆數是指在數組中出現次數大於 ⌊ n/2 ⌋
的元素
public int getNum(int[]nums){
Map<Integer,Integer>map = new HashMap<Integer,Integer>HashMap;
for(int num:nums){
Integer count = map.get(num);
if(count==null){
count = 1;
}else{
count++;
}
map.put(num,count);
if(count>nums.length/2){
rutrun num;
}
}
return -999;
}
冒泡排序:相鄰的依次交換
public void sortMP(int[]nums){
int len = nums.length;
for(int i=0;i<len-1;i++){
for(int j=0;j<len-1-i:j++){
if(nums[j]<nums[j+1]){
nums[j]=nums[j]^nums[j+1];
nums[j+1]=nums[j]^nums[j+1];
nums[j]=nums[j]^nums[j+1];
}
}
}
return nums;
}
選擇排序
public void getNum(int[]nums){
for(int i=0;i<nums.length-1;i++){
int k = i;
for(int j=k+1;j<nums.length;j++){
if(nums[j]<nums[k]){
k = j;
}
}
if(k!=i){
nums[i]^=nums[k];
nums[k]^=nums[i];
nums[i]^=nums[k];
}
}
}