LeetCode簡單題:268. 缺失數(shù)字(Python,C++,Java)

一.解法

https://leetcode-cn.com/problems/missing-number/
要點:數(shù)學,hashmap,排序
C++用了排序的方法,遍歷一遍找到0-n中不滿足i=num1[i]的數(shù)。
Python用了hashmap,從0-n依次在set中找。
Java用了數(shù)學方法,把所有數(shù)字相加,和原來應該相加的值進行比較,差值即為所求。

二.Python實現(xiàn)

class Solution:
    def missingNumber(self, nums: List[int]) -> int:
        numset = set(nums)
        n = len(nums) + 1
        for number in range(n):
            if number not in numset:
                return number

三.C++實現(xiàn)

class Solution {
public:
    int missingNumber(vector<int>& nums) {
        vector<int> nums1=nums;
        int n=nums.size()-1;
        sort(nums1.begin(), nums1.end());
        for(int i=0;i<=n;i++){
            if(i!=nums1[i]) return i;
        }
        return n+1;
    }
};

四.java實現(xiàn)

class Solution {
    public int missingNumber(int[] nums) {
        int truelength=nums.length;
        int truesum=0;
        int sum=0;
        truesum=(int)(truelength*(truelength+1)*0.5);
        for(int i=0;i<nums.length;i++){
            sum+=nums[i];
        }
        return truesum-sum;
    }
}
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容