找出单独的这些整形数

一整形数组中只有一个数出现一次,其他数成对出现,编程求取这个数

利用异或,相异为1,相同为0,且是采用位运算(利用二进制位),循环整个数组,相同的数异或后为全零,与单独的这个整数异或后,仍为它本身,则找到。。。。。

<span style="font-size:24px;"><span style="font-size:18px;">int find(int *arr,int sz)
{
  int i=0;
  int n=0;
  for(i=0;i<sz;i++)
  {
  n ^= arr[i];
  }
  return n;
}
int main()
{
	int arr[]={1,2,4,3,1,2,3};
	int sz=sizeof(arr)/sizeof(arr[0]);
	printf("%d\n",find( arr,sz));
	system("pause");
return 0;
}</span>


一整形数组中只有两个个数出现一次,其他数成对出现,编程求取这个数

<span style="font-size:24px;">void find(int *arr,int sz)
{
  int i=0,j=0;
  int ret=*arr;
  int num1=0;
  int num2=0;
  for(i=1;i<sz;i++)
  {
	  ret^=*(arr+i);
  }
  for(i=0;i<32;i++)
  {
  if((ret>>i)&1==1)
	  break;
  }
  j=i;
  for(i=0;i<sz;i++)
  {
  if(*(arr+i)>>j==1)
	  num1^=*(arr+i);
  }
  num2=num1^ret;
  printf("%d %d\n",num1,num2);
}
int main()
{
	int arr[]={1,2,3,4,5,4,3,2};
	int sz=sizeof(arr)/sizeof(arr[0]);
	find(arr,sz);
	system("pause");
return 0;

}</span>
先求取所有数字异或的结果,即为那两个单独出现出现数字异或的结果 ret。异或相异为1,再通过移位运算找到ret中第一个1的位置跳出循环(该位置为两数不同的比特位)。再在整个整形数组中,查找该位置为1的数相异或(此处num1应初始化为0,保证不影响异或结果),则可得到其中一个单独出现的数num1。再将num1与ret异或,得到num2。


本设计项目聚焦于一款面向城市环保领域的移动应用开发,该应用以微信小程序为载体,结合SpringBoot后端框架与MySQL据库系统构建。项目成果涵盖完整源代码、据库结构文档、开题报告、毕业论文及功能演示视频。在信息化进程加速的背景下,传统据管理模式逐步向字化、系统化方向演进。本应用旨在通过技术手段提升垃圾分类管理工作的效率,实现对海量环保据的快速处理与整合,从而优化管理流程,增强事务执行效能。 技术上,前端界面采用VUE框架配合layui样式库进行构建,小程序端基于uni-app框架实现跨平台兼容;后端服务选用Java语言下的SpringBoot框架搭建,据存储则依托关系型据库MySQL。系统为管理员提供了包括用户管理、内容分类(如环保视频、知识、新闻、垃圾信息等)、论坛维护、试题与测试管理、轮播图配置等在内的综合管理功能。普通用户可通过微信小程序完成注册登录,浏览各类环保资讯、查询垃圾归类信息,并参与在线知识问答活动。 在设计与实现层面,该应用注重界面简洁性与操作逻辑的一致性,在满足基础功能需求的同时,也考虑了据安全性与系统稳定性的解决方案。通过模块化设计与规范化据处理,系统不仅提升了管理工作的整体效率,也推动了信息管理的结构化与自动化水平。整体而言,本项目体现了现代软件开发技术在环保领域的实际应用,为垃圾分类的推广与管理提供了可行的技术支撑。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
内容概要:本文系统介绍了敏捷开发在汽车电子架构设计中的应用背景、核心理念及其相较于传统瀑布式开发的优势。文章从传统开发流程存在的问题切入,阐述了敏捷开发兴起的原因,并深入解析《敏捷软件开发宣言》提出的四大价值观:个体和互动高于流程和工具、工作的软件高于详尽的文档、客户合作高于合同谈判、响应变化高于遵循计划。重点强调敏捷开发以迭代为核心实践方式,通过小步快跑、持续交付可运行软件、频繁获取反馈来应对需求变化,提升开发效率与客户价值。同时展示了敏捷开发在互联网和汽车行业的广泛应用,如苹果、谷歌、博世、奔驰等企业的成功实践,证明其在智能化转型中的普适性和有效性。; 适合人群:从事汽车电子、嵌入式系统开发的工程师,以及对敏捷开发感兴趣的项目经理、产品经理和技术管理者;具备一定软件开发背景,希望提升开发效率和团队协作能力的专业人士。; 使用场景及目标:①理解敏捷开发相对于传统瀑布模型的核心优势;②掌握敏捷开发四大价值观的内涵及其在实际项目中的体现;③借鉴行业领先企业的敏捷转型经验,推动团队或组织的敏捷实践;④应用于智能汽车、车联网等快速迭代系统的开发流程优化。; 阅读建议:此资源侧重理念与实践结合,建议读者结合自身开发流程进行对照反思,在团队中推动敏捷思想的落地,注重沟通协作机制建设,并从小范围试点开始逐步实施迭代开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值