196.Find the Missing Number

public class Solution {
/**    
 * @param nums: an array of integers
 * @return: an integer
 */
public int findMissing(int[] nums) {
    // write your code here
    Arrays.sort(nums);
    int N = nums.length;
    int start = 0;
    int end = N - 1;
    while (start + 1 < end) {
        int mid = start + (end - start) / 2;
        if (nums[mid] > mid) end = mid;
        else start = mid;
    }
     if (nums[start] != start) return start;
    else if (nums[end] != end) return end;
    else return end + 1;
}
}


public class Solution {
/**    
 * @param nums: an array of integers
 * @return: an integer
 */
public int findMissing(int[] nums) {
    // write your code here
    int N = nums.length;
    int sum = 0;
    for (int i = 0; i < N; i++) {
        sum += nums[i];
    }
    
    return N * (N + 1) /2 - sum;
}
}


public class Solution {
/**    
 * @param nums: an array of integers
 * @return: an integer
 */
public int findMissing(int[] nums) {
    // write your code here
    Arrays.sort(nums);
    int N = nums.length;
    int start = 0;
    int end = N - 1;
    while (start + 1 < end) {
        int mid = start + (end - start) / 2;
        if (nums[mid] > mid) end = mid;
        else start = mid;
    }
     if (nums[start] != start) return start;
    else if (nums[end] != end) return end;
    else return end + 1;
}
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容