数组nums包含从0到n的所有整数,但其中缺了一个。请找出那个缺失的整数。
题目
数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。
时间复杂度要求:O(N)
方法1:
0~n的和减去数组nums的和
#include<stdio.h>
int missnumber(int a[], int sz)
{int i=0;int sum1 = 0;int sum2 = 0;int num = 0;for (i = 0; i < sz; i++){sum1 = sum1 + a[i];}for (i = 0; i <=sz + 1; i++){sum2 = sum2 + i;}num = sum2 - sum1;return num;
}
int main()
{int a[] = { 1, 3, 4, 5 };int sz = sizeof(a) / sizeof(a[0]);int num=missnumber(a,sz);printf("%d", num);return 0;
}
方法2
时间复杂度:O(N)
x=0,x和0 ~ n的数异或得到0 ~ n数,0 ~ n的数再和0 ~ n中缺少一个数的数组进行异或,则可以找到那个缺少的数字
方法3- -时间复杂度不符合
数组nums包含从0到n的所有整数,但其中缺了一个。请找出那个缺失的整数。相关推荐
- 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。...
给定两个字符串 s 和 t,它们只包含小写字母.字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母.请找出在 t 中被添加的字母. 示例: 输入: s = "abcd" ...
- 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径, 使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。
#include <iostream> #include <vector> using namespace std;/* 给定一个包含非负整数的 m x n 网格,请找出一条从 ...
- 写一个函数找出一个整数数组中,第二大的数
题目:写一个函数找出一个整数数组中,第二大的数. 算法分析: 1)假设数组中的前两个元素就是最大和第二大,即max和smax: 2)从数组的第二个元素开始遍历数组,当有元素大于max的时候,将max赋 ...
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 编写一个函数找出这两个只出现一次的数字。
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次.编写一个函数找出这两个只出现一次的数字. 1.代码编写 2.结果 1.代码编写 代码如下(示例): #define _CRT_SECURE_ ...
- 找不同(给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。)
给定两个字符串 s 和 t,它们只包含小写字母. 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母. 请找出在 t 中被添加的字母. 示例: 输入: s = "abcd&quo ...
- 137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数...
给定一个整型数组,除了一个元素只出现一次外,其余每个元素都出现了三次.求出那个只出现一次的数. 注意: 你的算法应该具有线性的时间复杂度.你能否不使用额外的内存来实现? 详见:https://leet ...
- 编写一个程序,找出数组中元素的最大值,要求用到成员函数。
#include<iostream> using namespace std; class Sum {private:int a[10];//定义一个数组; int sum;public: ...
- Java Exer0908 从键盘输入皆为正整数的数组元素,数组长度不确定,请找出数组中重复的数字并输出。
import java.util.Scanner; public class Exer0908 {public static void main(String[] args) {System.out. ...
- golang 数组组合成最小的整数_golang数组-----寻找数组中缺失的整数方法
问题:由n-1个整数组成的未排序数组,元素都是1~n的不同整数,找出其中缺失的整数 方法一: 思路:是原数组的和 减去 丢失元素后的数组的和,就得到丢失的元素了 代码如下: package main ...
最新文章
- Keras训练神经网络进行分类并进行交叉验证(Cross Validation)
- WP7多国语言支持 from:http://blog.csdn.net/lee353086/article/details/6260676
- Win7 64位的SSDTHOOK(1)---SSDT表的寻找
- Maven教程(3)--Maven导入工程常见问题(编码、MavenArchiver、Lifecycle Mapping、maven install 没有反应)...
- 备忘--Sinfors 设备出厂IP
- Tabs vs Spaces:如何在Google,Twitter,Mozilla和Pied Piper上编写Java
- 【HihoCoder - 1269】 优化延迟 (优先队列+二分优化)
- C/C++常量数据类型
- VMware三种工作模式
- 远程登陆速达E3PRO服务器出现share violation错误的解决方法.
- Redis文档链接(含官方中文)
- 高效能人士的七个习惯读后感与总结概括-(第三章)
- Latex下划线问题
- JSP页面调用log4j写日志文件
- Android 6.0(棉花糖)新特性
- Invalid MEX-file 'C:\Users\zs\Desktop\CSR-DCF\mex\mex_extractforeground.mexw64': 找不到指定模块
- SqlServer数据库应用
- Python里的%s和%d是什么意思
- 攻略 | 香港13个适合周末去的绝美小岛
- bim webgl 模型 轻量化_数字化交付模型轻量化技术研究
热门文章
- android红包功能程序,微信小程序实现发红包功能
- 八戒转世投胎竟然是Java设计模式:桥接模式
- 新的征程:C语言学习
- linux命令解释pwd,Linux中pwd命令有什么用
- 平安大视野解读主动健康:以运动改变生命轨迹,以名医权益为健康保驾护航
- 元素偏移量offset系列及e.pageX(e.pageY)
- 性能测试接口请求超时问题_如何获得更好的性能:超时的情况
- 方法是学习和进步的捷径
- 男孩子学机电一体化好还是计算机好,男生学机电一体化专业好吗 好找工作吗...
- yolov6训练自己的数据记录+yolov5对比测试