学习
实践
活动
工具
TVP
写文章

每日一题:数组中重复数字(C语言C++)

题目描述 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 请找出数组中任意一个重复数字。 示例 : 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 思路分析 首先想到的是暴力法—两个for循环实现,缺点很明显:用时过多。 再进一步可以先排序数组然后一次for循环,容易找出所有的重复元素以及重复的次数,用时依旧较长。 重复操作1, 直到number[i]== i, 则继续操作下一个位置的元素, 或者numbers[i] == numbers[numbers[i],元素重复。 代码实现 //#include <stdlib.h> //C语言 #include<iostream> using namespace std; //2020.05.22 int findRepeatNumber

1.5K20

0010 中间数 c语言

样例输入 1 2 3 4 5 6 样例输出 2 5 #include<stdio.h> int main() { int a,b,c; while(scanf("%d %d %d ",&a,&b,&c)! =EOF) { if(a>b&&b>c){ printf("%d\n",b); } if(a>c&&c>b){ printf("%d\n", c); } if(b>a&&a>c){ printf("%d\n",a); } if(b>c&&c>a){ printf("%d\n",c ); } if(c>a&&a>b){ printf("%d\n",a); } if(c>b&&b>a){ printf("%d\n",

6620
  • 广告
    关闭

    年末·限时回馈

    热卖云产品年终特惠,2核2G轻量应用服务器6.58元/月起,更多上云必备产品助力您轻松上云

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    0015 c语言 数字回文

    题目描述 “回文”是一种特殊的数或者文字短语。他们无论是顺读还是倒读,结果都一样。例如:12321, 55555,45554。读入一个5位整数,判断它是否是回...

    7420

    c语言-猜数字游戏

    ; break; case 1: printf("数字大了不少。") ; break; case 2: printf("数字大太多了!") ; break; default: printf("数字大太多了!") ; break; case 1: printf("数字小了不少。") ; break; case 2: printf("数字小太多了!")

    1.1K40

    0014 c语言 数字分隔

    题目描述 要求输入一个5位整数,然后分解出它的每位数字,并将这些数字间隔按照样例给出的形式打印出来。 输入 多组测试数据,每组一行,一个五位整数,数据以0结尾。 输出 每组数据输出一行,分解出它的每位数字,并将这些数字间隔3个减号和空格(就是:“-”,详细格式请见样例输出)的形式打印出来。

    5530

    C语言_数字排列顺序

    57830

    C语言从数组里最大最小值

    有一个很基础的算法在做嵌入式开发中经常会使用到,那就是最值,最常见的是以下两个宏: #define max(a,b) ((a) > (b) ? 但如果是比较多个数据的数值,我们就需要对数组里的元素进行比较了,来看看程序实现: find_buffer_max_min.c #include <stdio.h> #include <unistd.h> stdlib.h> #define NR(x) (sizeof(x)/sizeof(x[0])) #define u32 unsigned int #define u8 unsigned char //数组的最小值 将该值赋值给min,依次通过for循环遍历,直到找到最小值 if(buffer[count] < min) min = buffer[count]; } //返回最小值 return min ; } //数组的最大值

    2.2K30

    c语言删除数组中重复元素

    原题:把一个数组中的重复元素去掉。 +i) { for(j=i+1;j<n;++j) //从num[i]的下一位开始比较,直到最后一位 if(num[i]==num[j]) //如果数字重复 { for(k=j;k<n-1;++k) //从num[j]开始,所有数字前移一位 num[k

    17820

    C语言入门小程序-猜数字

    今天,我们以一个猜数字的小程序为例,带大家了解一下。 首先,看下题目: ? 这个游戏大家应该不陌生,留点时间大家思考下怎么来用C语言编程来实现。 我们先来介绍下VC++6.0运行C语言程序的基本操作过程。 ? 如上图,VC++6.0打开界面,注意中英文差别(比较简单,自己对照一下)。 第二步,创建 .c 文件,就是C语言代码源文件。点 “文件(File)”---“新建(New)”,在新弹出窗口,选“文件(Files)”---“C++源文件(C++ Source File)”。 关于main函数介绍,C语言程序从main函数开始到main函数结束,参考之前的文章。 程序写好,编译(检查没有语法错误)---组建(连接)---执行,可以从菜单,也可以直接点击微型编译条上面的按钮。 ? 接下来,回到猜数字这道编程题。思考下都有哪些过程步骤。

    1.2K30

    重复字符串 leetcode_无重复字符的最长子串c语言

    原题链接给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 示例 4: 输入: s = "" 输出: 0 提示: 0 <= s.length <= 5 * 104 s 由英文字母、数字、符号和空格组成 题解 双指针 class Solution {

    6520

    C语言解题之小鱼的数字游戏

    小Bob发现洛谷的题集发生了变化哈,应该是增加了不少新题,于是就去随机写了一题,现分享出来: 题目描述 ‍‍小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字a以i为底(长度不一定,以 00 结束 ),记住了然后反着念出来(表示结束的数字 00 就不要念出来了)。 23 65 3 ‍‍ ‍‍‍‍‍‍ 源代码如下: #include<stdio.h> #define m 100 int main() { int a[m], n, k[m], b, c; n++) { scanf("%d", &a[n]); if (a[n] == 0) { break; } } c = n; for (b = 0; b < n; b++) { c--; k[b] = a[c]; } for (n = 0; n < b; n++

    97730

    C语言system参数字符串

    (会编译不出来) char str[10]="cls"; system(str); 其实解决方法很简单,只要一个const char类型的指针就行了。

    5020

    c语言实现简单的猜数字游戏

    直接上源码 #include<stdio.h> #include<time.h> #include<Windows.h> void game()//猜数字游戏功能函数 { int num = 0 , input = 0; num = rand() % 100 + 1;//获取1-100的一个随机数 while (1)//利用if循环判断 { printf("请输入数字\n") ; scanf_s("%d", &input); if (input == num) { printf("恭喜,你猜的数字是对的\n"); break;

    10320

    C语言 数组倒序输出数字「建议收藏」

    引用一维数组元素 对 10 个数组元素依次赋值为 1,2,3,4,5,6,7,8,9 ,10要求按逆序输出

    17020

    每日一题C++版(有序提取不重复数字

    有序提取不重复数字 题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 示例 输入 9876673 输出 37689 分析 如果单纯是提取不重复的元素,那么用关联容器显然是很方便的 ,但是题目中要求输出的新整数的顺序是原数字从右向左的顺序,因此关联容器会对元素排序的缺点就暴露出来了。

    35680

    有多少小于当前数字数字C语言

    有多少小于当前数字数字 给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。 对于 nums[1]=1 不存在比它小的数字。 对于 nums[2]=2 存在一个比它小的数字:(1)。 对于 nums[3]=2 存在一个比它小的数字:(1)。 对于 nums[4]=3 存在三个比它小的数字:(1,2 和 2)。 代码(C语言) ? smallerNumbersThanCurrent(a,6,&rsize); int i = 0; for(i=0;i<rsize;i++) { printf("%d%c"

    19060

    重复字符的最长子串(C语言

    重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 解题代码(C语言) ? maxn_len : count_len; return maxn_len;c }

    66640

    剑指Offer的学习笔记(C#篇)-- 数组中重复数字

    题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字重复的,但不知道有几个数字重复的。也不知道每个数字重复几次。请找出数组中任意一个重复数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复数字2。 一 . 解题思路 方法一:效率低的方法。 啥意思呢:就是建一个队列,遍历一遍,如果队列里有重复的数,停止;没有的话,继续搞,用到一个.Contains。

    37630

    扫码关注腾讯云开发者

    领取腾讯云代金券