美文网首页
2022-02-14 540有序数组中的单一元素

2022-02-14 540有序数组中的单一元素

作者: 16孙一凡通工 | 来源:发表于2022-02-14 09:40 被阅读0次

java 二分 go哈希表
java版本:

class Solution {
    public int singleNonDuplicate(int[] nums) {
        // 有序。。。。
        // 二分查找
        int l=0,r=nums.length-1;
        int res=nums[0];
        if(nums.length<2){
            return res;
        }
        while(l<=r){
        if(nums[l+1]==nums[l]){
        l+=2;
        }else{
            res=nums[l];
            break;
        }
         if(nums[r-1]==nums[r]){
           r-=2;
         }else{
             res=nums[r];
             break;
         }
        }
        return res;
    }
    }

Go版本:

func singleNonDuplicate(nums []int) int {
       // 构造哈希表
        // 靠哈希表查找
        hashmap:=make(map[int]int);
        for i:=0;i<len(nums);i++{
            hashmap[nums[i]]++;
        }
        res:=0
        for key,value:=range hashmap{
            if value==1{
             res=key;
            }
        }
        return res;
}

剑指 Offer 41. 数据流中的中位数

java版本:
class MedianFinder {
    
    ArrayList<Integer> arr;

    /** initialize your data structure here. */
    public MedianFinder() {
     
   this.arr=new ArrayList<>();

    }
    
    public void addNum(int num) {
     this.arr.add(num);
    }
    
    public double findMedian() {
        // 在这里进行排序
         int n=this.arr.size();
         
        Collections.sort(this.arr);
       
        if(n%2!=0){
       return Double.valueOf(this.arr.get(n/2));
        }else{
            double a1=this.arr.get(n/2-1);
            double a2=this.arr.get(n/2);
       return  (a1+a2)/2;
        }


    }
}

相关文章

网友评论

      本文标题:2022-02-14 540有序数组中的单一元素

      本文链接:https://www.haomeiwen.com/subject/ggdclrtx.html