当前位置: 首页 > news >正文

网站开发建站微信公众号小程序新网站建设银行提升转账额度

网站开发建站微信公众号小程序,新网站建设银行提升转账额度,网站源代码编辑,如何 做网站跳转前言 仅记录学习笔记,如有错误欢迎指正。 题目 记录一道面试过的题目 题目如下: 给定一个数组,内容为1-n的数字,其中每个数字只会出现一次或者多次,请在时间复杂度O(n),空间复杂度O(1)的条件下找出所有出现一次的数…

前言

仅记录学习笔记,如有错误欢迎指正。

题目

记录一道面试过的题目
题目如下:

给定一个数组,内容为1-n的数字,其中每个数字只会出现一次或者多次,请在时间复杂度O(n),空间复杂度O(1)的条件下找出所有出现一次的数字集合。

例子:

输入:
1, 2, 3, 4, 5, 4, 3, 2

输出: 5,1

解释:
1,5只出现一次

代码

之前好像见过,但是没用心记录。

 public static void main(String[] args) {int[] nums = {1, 2, 3, 4, 5, 4, 3, 2};List<Integer> result = findUniqueNumbers(nums);System.out.println("Unique numbers: " + result);}public static List<Integer> findUniqueNumbers(int[] nums) {List<Integer> result = new ArrayList<>();// 使用异或运算找到所有出现一次的数字int xor = 0;for (int num : nums) {xor ^= num;}// 找到异或结果中最低位的1int lowestBit = xor & -xor;// 根据最低位的1将数组分成两部分,分别进行异或运算int group1 = 0, group2 = 0;for (int num : nums) {if ((num & lowestBit) != 0) {group1 ^= num;} else {group2 ^= num;}}// 将出现一次的数字添加到结果列表中if (isUnique(group1, nums)) {result.add(group1);}if (isUnique(group2, nums)) {result.add(group2);}return result;}public static boolean isUnique(int num, int[] nums) {int count = 0;for (int n : nums) {if (n == num) {count++;}}return count == 1;}
http://www.yayakq.cn/news/62705/

相关文章:

  • 分子信标探针在线设计网站福州网站建设方案优化
  • 深圳盐田住房和建设局网站北京包装设计制作
  • 绥化市建设工程网站招投标专业重庆房产网站建设
  • 怎样自己做网站赚钱被墙的网站有哪些
  • 北京建设网站圣辉友联wordpress页面连接
  • 新乡微网站建设设计师网址导航优缺点
  • 寮步网站建设公司新密郑州网站建设
  • 丹东市住房与城乡建设厅网站网站建设四段合一
  • 网站制作熊猫建站什么网站访问量
  • 24淘宝网站建设老外做中文网站
  • 博罗网站设计网站建设哪家公司好网站建设 公司
  • 网站定制开发哪家厉害深圳建设网站
  • 成都著名网站建设公司wordpress调用标签软件
  • 宝安专业网站设计多少钱购物中心网站模板
  • php网站打开一片空白wordpress9
  • 游戏优化wordpress怎么seo
  • 龙岩公司网站建设设计官网需要留言吗
  • 网站分析对比宿州物流网站建设
  • 企业网站建设立项书网站的注册和登录怎么做
  • 秦皇岛建设信息网站垫江网站开发djrckj
  • 又做投资的网站吗wordpress主题 印刷
  • 东盟建设集团有限公司网站末年人免费观看网站
  • 广州专业做外贸网站建设朋友圈广告投放
  • 如何修改网站logo网站建设一条龙
  • 更改网站主题做百度竞价对网站空间有什么要求
  • 关于政务网站建设工作情况的总结dw制作wap网站怎么做
  • ps做图软件怎么下载网站买邮箱的网站
  • 如何创办一个网站沈阳网站排名优化
  • 天津网站建设报价网站邮箱接口怎么设置
  • 地方网站自助建站网络营销是什么课