温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
  • 忘记密码?
登录注册×
获取短信验证码
其他方式登录
点击 登录注册 即表示同意 《亿速云用户服务条款》
  • 服务器
  • 数据库
  • 开发技术
  • 网络安全
  • 互联网科技
登 录 注册有礼
最新更新 网站标签 地图导航
产品
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 编程语言 > 
  • C语言 数组中重复的数字分析及方法

C语言 数组中重复的数字分析及方法

发布时间:2020-08-29 18:20:04 来源:脚本之家 阅读:293 作者:lqh 栏目: 编程语言

C语言 数组中重复的数字解决方法:

题目:在一个长度为n的数组里的所有数字都在0-n-1的 范围内。数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3.

解法1:对于数组进行排序,之后对于已经排序的数组进行遍历便可知道数组中重复的数字。

时间复杂度;O(nlogn);

解法2:建立一个大小为O(N)的哈希表,遍历数组中的元素并判断是否存在于哈希表中。若不存在于哈希表中,将这个元素加入哈希表之中并且继续扫描,若这个元素存在于哈希表中,则:找到了数组中重复的一个数字;

时间复杂度:O(N),空间复杂度:O(N);

解法3:对于给定的数组进行重排。对于下标为i的元素:如果a[i] == i,扫描下一个元素;如果不相等将a[i]与a[a[i]]进行比较,若是相等则找到了一个重复的数字,若没有,那么对于数字进行交换,依次进行。

C语言 数组中重复的数字分析及方法


int DuplicateInArray(int arr[],int size) 
{ 
  int i=0; 
  while(i<size) 
  { 
    if(arr[i] == i) 
      ++i; 
    else 
    { 
      if(arr[i] != arr[arr[i]]) 
      {swap(arr[i],arr[arr[i]]);} 
      else 
      {return arr[i];} 
    } 
  } 
  return -1; 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

向AI问一下细节
推荐阅读:
  1. 不修改数组找出重复的数字(c语言)
  2. 找出数组中重复的数字(c语言)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c语言 数组 重复数字
  • 上一篇新闻:
    使用Python制作自动推送微信消息提醒的备忘录功能
  • 下一篇新闻:
    Python实现随机生成任意数量车牌号

猜你喜欢

  • IDEA导入web项目并配置运行的方法是什么
  • ubuntu如何卸载已经安装的包
  • c中datagridview控件属性怎么使用
  • vb文本框如何设置滚动条
  • 如何将文件上传至云服务器
  • 云服务器安装sql数据库的步骤是什么
  • 怎么使用datagridview控件连接数据库
  • vs2010调试时看不到变量值怎么解决
  • c语言dirname函数怎么使用
  • c语言函数声明的方法有哪些
最新资讯
  • 在Clojure中实现基础教育和在线学习资源的个性化推荐系统
  • 如何使用Clojure开发高效的能源交易和市场分析平台
  • 探索Clojure在智能广告投放和媒体购买优化中的潜力
  • Clojure如何在构建虚拟试衣间和时尚技术解决方案中被应用
  • 使用Clojure进行先进制造流程的模拟与分析
  • 在Clojure中实现专为艺术家和设计师开发的协作工具
  • 探讨如何利用Clojure进行海洋探索和海底地图绘制
  • Clojure在建立可扩展的科研实验数据管理系统中的应用
  • 使用Clojure开发支持多语言的全球化电商平台
  • 如何在Clojure中开发用于事件驱动架构的消息队列系统
相关推荐
  • 剑指offer之C语言不修改数组找出重复的数字
  • c语言怎么实现冒泡排序
  • 《C语言》 —— 数组详解
  • C语言中经典的算法有哪些
  • C语言中怎么去除数组中重复的数字
  • C语言中的算法有多重要
  • C语言一维数组算法问题的示例分析
  • C语言中冒泡排序的示例分析
  • C语言新手入门实例分析
  • C语言函数使用实例分析

相关标签

c语言的一些基础程序 c语言学习 c语言原创文章 c语言学习总结 c语言结构体 c语言中 c语言初学者 c语言操作 c语言指针 c语言基础 c语言库函数 c语言编程 c语言项目 c语言c程序c/c++ C语言标识符
AI

哆哆女性网杨姓起名大全女孩名字起名一什么好听的名字三个字的烘焙公司起名开特公司起名字评分免费检测别动我的鱼尾巴水中捞月机器人机构起名给兽药店起名字大全网络名字怎么起火影忍者392林业公司起什么名字好姓查的男孩起名空间6.0全屏皮肤男孩起名字好听的字女宝起名2021属牛起名景的字钟易轩上海起名流水不腐般若关中老人中秋节qq表情新生儿起名网址 免费色欲迷墙男孩子五行五行缺金的起名在线免费起名捏捏大爆炸狗婴儿起名宜用字李忆如穿越在电影世界淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化