首页 > 其他分享 >剑指Offer——53-II. 0~n-1中缺失的数字(c语言)

剑指Offer——53-II. 0~n-1中缺失的数字(c语言)

时间:2023-04-22 14:12:14浏览次数:36  
标签:numsSize return 数字 Offer int nums mid 53 II

title: 剑指Offer 53-II. 0~n-1中缺失的数字(c语言)

一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。

示例1:

输入: [0,1,3]
输出: 2

示例2:

输入: [0,1,2,3,4,5,6,7,9]
输出: 8

限制:
$$
1 \leqslant 数组长度 \leqslant 10000
$$
法1:

int missingNumber(int* nums, int numsSize){
    if(NULL==nums || numsSize<=0){
        return -1;
    }

    int low=0, high=numsSize-1;
    while(low <= high)
    {
        int mid = (low+high)>>1;
        if(nums[mid] != mid){
            if(0==mid || nums[mid-1]==mid-1){
                return mid;
            }
            high = mid-1;
        } else{
            low = mid+1;
        }
    }

    if(low == numsSize){
        return numsSize;
    }
    return -1;
}

法2:

int missingNumber(int* nums, int numsSize){
    int sum=0, result=0; 
    sum = numsSize*(numsSize+1)/2;
    for(int i=0; i<numsSize; ++i)
    {
        result += nums[i];
    }
    return sum-result;
}

标签:numsSize,return,数字,Offer,int,nums,mid,53,II
From: https://www.cnblogs.com/blue-Suri/p/17342971.html

相关文章

  • 剑指Offer——10-II.青蛙跳台阶问题(c语言)
    title:剑指Offer10-II.青蛙跳台阶问题(c语言)一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法。答案需要取模1e9+7(1000000007),如计算初始结果为:1000000008,请返回1。示例1:输入:n=2输出:2示例2:输入:n=7输出:21示例3:输入:n......
  • 剑指Offer——24.反转链表(c语言)
    title:剑指Offer24.反转链表(c语言)定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL限制:$$0\leqslant节点个数\leqslant5000$$代码如下:/***Definitionforsingly-linkedlist.......
  • 力扣——240.搜索二维数组II(c语言)
    title:力扣——240.搜索二维数组II(c语言)同《剑指offer》04题目描述:编写一个高效的算法来搜索mxn矩阵matrix中的一个目标值target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例1:输入:matrix=[[1,4,7,11,15],[2,5,8,12,19],......
  • 1053 等重路径
    给定一个非空的树,树根为 R。树中每个节点 Ti 的权重为 Wi。从 R 到 L 的路径权重定义为从根节点 R 到任何叶节点 L 的路径中包含的所有节点的权重之和。现在给定一个加权树以及一个给定权重数字,请你找出树中所有的权重等于该数字的路径(必须从根节点到叶节点)。例如......
  • 53. 最大子数组和
    给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。>解法一(贪心)classSolution{public:intmax......
  • ZigBee CC2530 定时器1中断
    #ZigBeeCC2530定时器1中断这段时间做一个智能家居的项目,用到ZigBee芯片,自然想到用CC2530。今天分享一个很简单的,通过按键控制定时器开启关闭,定时器中断函数里控制LED闪烁。#include<ioCC2530.h>#defineuintunsignedint#defineucharunsignedchar#defineLED1P1......
  • iis 设置ssl证书乱窜的解决方案
    iis设置ssl证书乱窜的解决方法:选择iis站点>先导入证书 选择iis站点>编辑绑定>选择https站点>选中需要服务器名称指示 ......
  • 剑指 Offer II 005. 单词长度的最大乘积
    题目链接:剑指OfferII005.单词长度的最大乘积方法:转化为二进制位+位运算解题思路将\(words[i]\)字符串中包含的字母转换为二进制位上的\(1\),字符'a'对应二进制中的第\(0\)位上的\(1\),这样每个字符串就对应一个二进制数。通过两个字符串的二进制数进行'&'运算,......
  • Aras学习笔记 (53) - 根据ID快速找到文件Vault路径
    Step1:首先在对象类File中根据名称找到ID;Step2:右键文件-->Share-->CopyID;Step3:在Console中输入下命令:top.aras.IomInnovator.getFileUrl("[文件ID]",top.aras.Enums.UrlType.SecurityToken)结果如下: ......
  • IIS 内存溢出(32位程序运行)
    背景最近新接手了一个项目,服务器正常,用户量也没有变化,不定时出现内存溢出,重启iis或者回收线程就正常了review发现,因为业务原因缓存的东西并没有释放掉,但远远没有达到服务器内存上线,也没有受到预警邮件巴拉很久,发现32位系统存在内存上限为什么32位程序只能使用最大2GB内......