ledcode----丢失的数字

2023-11-06

目录

题目截图:

 题目接口:

第一种解法:

思路:

第二种解法:差值法

思路:

第三种解法:位运算异或法

关于异或操作符的预备知识:

思路:

例子:输入数组[0,1,3]。根据题目要求消失的数字就是2,n=3。

结语:

 


题目截图:

 题目接口:

int missingNumber(int* nums, int numsSize){

}

第一种解法:

思路:

第一步,定义一个长度为10000的数组(题目中的数组长度最大为10000)并将数组中的数据初始化为0。

第二步,将nums中的数据作为下标对arr进行赋值为1的操作。

第三步,对arr进行遍历,当arr[i]==0时成立时返回下标i,这里的i就是缺失的数字。


int missingNumber(int* nums, int numsSize) {
   
    int arr[10000] = { 0 };
    int i = 0;
    for (i = 0;i < numsSize;i++) {
        arr[nums[i]] = 1;
    }
    for (i = 0;i < numsSize + 1;i++) {
        if (arr[i] == 0)
            break;
    }
    return i;
}

第二种解法:差值法

思路:

第一步,对0~n的数字进行加和

第二步,对数组中的元素进行加和

第三步,返回两个数的差值,这个差值就是丢失的数字。

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

第三种解法:位运算异或法

关于异或操作符的预备知识:

1.0^(任何数)=任何数   0^1=1;

2.两个相等的数字异或自己=0  1^1=0;

3.异或操作支持交换律。

思路:

第一步,先定义一个x=0

第二步,使用x来异或数组中每一个元素,并将x赋值为x^nums[i].

第三步,用第一个循环中得到的数来异或0~n的数,并对x重新赋值

第四步,两循环结束以后得到的x的值就是丢失的数字。

例子:输入数组[0,1,3]。根据题目要求消失的数字就是2,n=3。

执行程序后的操作:x=0^0^1^3^0^1^2^3=0^0^0^1^1^2^3^3=0^2=2

int missingNumber(int* nums, int numsSize) {
    int x = 0;
    int i = 0;
    for (i = 0;i < numsSize;i++) {
        x = x ^ nums[i];
    }
    for (i = 0;i <= numsSize;i++) {
        x = x ^ i;
    }
    return x;
}

结语:

小牛儿今天的分享就到这里了,如果有错误的话请指正。如果对你的学习有帮助的话,请给小牛儿来个三连吧。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ledcode----丢失的数字 的相关文章

随机推荐

  • 时间序列-预测(Forcasting):时间序列预测算法总结

    一 背景介绍 绝大部分行业场景 尤其是互联网 量化行业 每天都会产生大量的数据 金融领域股票价格随时间的走势 电商行业每日的销售额 旅游行业随着节假日周期变化的机票酒店价格等 我们称这种不同时间收到的 描述一个或多种特征随着时间发生变化的数
  • 主题:java并发编程-Executor框架

    http www iteye com topic 366591
  • 【Opencv读取中文路径图像】

    Opencv读取中文路径图像 if img0 None uipath unicode path utf8 img data np fromfile path np uint8 img0 cv2 imdecode img data 1
  • Python~OS模块--将文件保存到指定路径

    需求 写爬虫时 想将爬取下来的文件保存到指定的路径 环境 Python3 7 注意 windows下 用于区分系统路径 在python里面是转义符 os listdir 返回指定目录下的所有目录和文件名 os mkdir 创建指定路径下目录
  • 一维条码解码

    一维条码是一种能用于信息编码和信息自动识别的标准符号 是由一组宽度不同的黑白符号按一定规则交替排列编码组成的图形符号可用于表示一定的信息 它是对物品进行代号标识需要依赖数据库或通讯网络才能发挥最大的作用 常见的码制 条码符号类型 有EAN
  • Nacos踩坑记录之The IPv4 address(“nacos.xxxx.local“) is incorrect

    版本 spring cloud alibaba 2021 1 项目构建工具 gradle nacos server 2 0 3 1 问题 昨天早上上班来了之后 运营的同事着急的过来说生产环境登不上了 我赶紧打开日志看了之后 就发现了这样的报
  • C语言期末大作业-运动会管理系统 包含源码和设计文档

    C语言 运动会管理系统 源码和3000多字的设计文档非常详细 代码注释非常详细 部分功能测试截图如下 下载链接在文末 点我下载资源 https download csdn net download weixin 43474701 60281
  • 多线程练习-基于 AtomicInteger 实现多线程自增同一个变量

    Atomic原子类有很多的类型 由于有原子性 所以实例化的变量在多线程中不会有线程安全问题 感兴趣的可以搜索 题目 基于 AtomicInteger 实现多线程自增同一个变量 代码及其注释 基于 AtomicInteger 实现多线程自增同
  • 蓝桥杯C++算法训练-拿金币(动态规划)

    问题描述 有一个N x N的方格 每一个格子都有一些金币 只要站在格子里就能拿到里面的金币 你站在最左上角的格子里 每次可以从一个格子走到它右边或下边的格子里 请问如何走才能拿到最多的金币 输入格式 第一行输入一个正整数n 以下n行描述该方
  • FPGA基本算术运算

    FPGA基本算术运算 FPGA基本算术运算 1 有符号数与无符号数 2 浮点数及定点数 I 定点数的加减法 II 定点数的乘除法 3 仿真验证 i 加减法验证 ii 乘除法验证 FPGA基本算术运算 FPGA相对于MCU有并行计算 算法效率
  • 生成对抗网络(GAN) 手写数字图像生成

    生成式对抗网络 GAN 简介 生成式对抗网络的框架主要有两个模型 一个是生成模型 Generator 记为为 G 是用来生成数据 通过大量的样本学习 生成一些能够以假乱真的数据样本 第二个是辨别模型 Discriminator 记为D 主要
  • CCF 2014年9月第一题--相邻数对(java)

    package com hsx ccf import java util Scanner public class Ccf20140901 public static void main String args SuppressWarnin
  • 注解和反射

    一 注解 1 什么是注解 注解说白了就是对程序做出解释 与我们在方法 类上的注释没有区别 但是注解可以被其他程序所读取 进行信息处理 否则与注释没有太大的区别 2 内置注解 内置注解就是我们的jdk所带的一些注解 常用的三个注解 Overr
  • 基于支持向量机SVM的图像多分类,SVM的详细原理

    目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 SVM应用实例 SVM图像多分类 代码 结果分析 展望 参考 支持向量机SVM的详细原理 SVM的定义 支持向量机 support vector machines SVM 是一种二
  • 软件模拟IIC驱动OLED 附源码

    软件模拟IIC驱动OLED 附源码 前言 CSDN上有很多的关于模拟IIC驱动的代码 都讲解的特别好 但对于想短时间理解并使用IIC的同学们而言是很枯燥困难的 所以我想由果到因 从写好的代码开始讲解IIC 希望可以帮助大家短时间掌握使用II
  • Springcloud连接nacos集群,nacos地址配置为nginx,报错:requst nacos server failed

    先说下版本 Spring cloud Hoxton SR12 spring cloud alibaba 2 2 9 RELEASE spring boot 2 3 12 RELEASE Linux Centos7 nacos server
  • 惠普Hp 战66 g3 amdR7-4800U,USB接口以及type-C速率/功能

    https h30471 www3 hp com t5 bi ji ben dian nao zhan66 san dai AMD14ying cun ban quan gong nengusbtypec jie kou zhi chi n
  • 【用户增长】找到用户增长的根本动因

    找到用户增长的根本动因 1 没有痛点的用户增长是不持久的 近几年创业的人越来越多 在这些创业失败的案例中 不乏一些 UI 设计非常漂亮的产品 但最终却因为用户增长做不起来而导致创业失败 这些产品失败的最主要原因就是没有找对痛点 没有需求也就
  • mysql内存使用分析(一)

    author skate time 2012 02 16 mysql内存使用分析 从内存的使用方式来说 MySQL数据库的内存使用主要分为以下两类 1 线程独享内存 2 全局共享内存 1 线程独享内存 在MySQL 中 线程独享内存主要用于
  • ledcode----丢失的数字

    目录 题目截图 题目接口 第一种解法 思路 第二种解法 差值法 思路 第三种解法 位运算异或法 关于异或操作符的预备知识 思路 例子 输入数组 0 1 3 根据题目要求消失的数字就是2 n 3 结语 题目截图 题目接口 int missin