题目
java
自己的垃圾解法,必须得标红,因为是第一次
class Solution {
//这个题目特点是自己的元素占了一半以上,只有这一个元素的特点是什么,然后就提取出来。
//这一个元素的特点是:对拼玩法,在一对一的情况下,由于自己的人数占了一半以上,自己的军队可以消灭掉其他所有
int cout=0;
public int majorityElement(int[] nums) {
int c=0;
for(int i=0; i<nums.length;i++){
int maj = nums[i];
int k = back(maj,nums);
if(k==1){
c = maj;
break;
}
}
return c;
}
public int back(int maj,int[] nums){
int b=2;
for(int i =0;i<nums.length; i++){
if(maj==nums[i]){
cout++;
}else{
cout--;
}
if(cout<=0){
b = 0;
}else{
b = 1;
}
}
return b;
}
}
人家的解法
//1.先进性冒泡排序,直接取中间的那个元素即可,这种操作比较骚。如果可以自己写排序算法就更骚了
class Solution {
public int majorityElement(int[] nums) {
Arrays.sort(nums);
return nums[nums.length / 2];
}
}