首页 > 试题广场 >

序列找数

[编程题]序列找数
  • 热度指数:16119 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
从非负整数序列 0, 1, 2, ..., n中给出包含其中n个数的子序列,请找出未出现在该子序列中的那个数。

输入描述:
输入为n+1个非负整数,用空格分开。
其中:首个数字为非负整数序列的最大值n,后面n个数字为子序列中包含的数字。


输出描述:
输出为1个数字,即未出现在子序列中的那个数。
示例1

输入

3 3 0 1

输出

2
头像 白伟仝
发表于 2020-07-25 19:06:13
等差数列求和,减去已输入的数字的和,差即为未出现的: import java.util.*; public class Main { public static void main(String[] args) throws Exception{ Scanner sc = n 展开全文
头像 今天学了啥
发表于 2022-02-09 14:26:23
因为没有重复的数,所以等差数列求和,减去输入的总和,剩下的就是为未出现的数 import java.util.*; public class Main { public static void main(String[] args) throws Exception{ Sca 展开全文
头像 牛客499819205号
发表于 2021-10-21 12:30:43
从0到n 累计和为 n*(n+1)/2 减去出现过的元素 最后的结果就是没有出现的值 #include<iostream> using namespace std; int main() { int n; while(cin >> n) { 展开全文
头像 Until_you
发表于 2022-08-16 19:19:58
#include<stdio.h> int main(int argc,char *argv[]) {     int num,sum=0,x,y;     scanf("%d ",&num);     for(int 展开全文
头像 牛客298611750号
发表于 2021-11-18 12:47:45
python解决方案: 根据题目已知条件可以知道本题是找到一个与0-9子集里面不存在的一个数,所以从这里可以看出是存在一个模板用来对比现在存在的数,所以我们构造一个新集合进行对比,如何将两个集合进行差运算得到我们要的值
头像 鱼叔最帅丶
发表于 2022-06-22 22:58:16
基于贪心法 先获取第一个值也就是最大值,从这个最大值依次向下递减并且每个值和原输入的串进行contains比较,输出串中不存在的数字。 import java.util.Scanner; public class Main { public static void main(String[] 展开全文
头像 牛客342312327号
发表于 2022-07-21 14:26:40
a = list(map(int,input().split())) for i in range(max(a)):     if i not in a:  & 展开全文
头像 牛客622125648号
发表于 2022-04-20 15:56:16
n=list(map(int, input().split())) b=[] for i in range(int(n[0])+1): for j in n[1:]: if j==i: b.append(i) for i in range(n[0]+1): if i !=b[i]: print(i) 展开全文
头像 。。//。。
发表于 2022-02-21 21:48:30
import java.util.*; public class Main{   public static void main(String[] args){       setTest(); }   public static void setT 展开全文
头像 归子莫
发表于 2022-03-09 19:11:54
方法一: 主要利用数组方法includes,一次遍历。 代码 let arr = readline().split(' ') let max = arr.shift() let num = [...arr] let temp = 0 for (let i = 0; i < max; i++) 展开全文