《程序员代码面试指南》第七章 位运算 在其他数都出现k 次的数组中找到只出现一次的数...
题目
在其他数都出现k 次的数组中找到只出现一次的数
java 代码
package com.lizhouwei.chapter7;/*** @Description: 在其他数都出现k 次的数组中找到只出现一次的数* @Author: lizhouwei* @CreateDate: 2018/4/28 21:20* @Modify by:* @ModifyDate:*/
public class Chapter7_6 {public int getOnceNum(int[] arr, int k) {int[] eo = new int[32];for (int i = 0; i < arr.length; i++) {int[] kSys = getKSysNum(arr[i], k);for (int j = 0; j < eo.length; j++) {eo[j] = (eo[j] + kSys[j]) % k;}}return getFromKSysNum(eo, k);}public int[] getKSysNum(int value, int k) {int[] res = new int[32];int index = 0;while (value != 0) {res[index++] = value % k;value = value / k;}return res;}public int getFromKSysNum(int[] eo, int k) {int res = 0;for (int i =eo.length-1; i>-1; i--) {res = res * k + eo[i];}return res;}//测试public static void main(String[] args) {Chapter7_6 chapter = new Chapter7_6();int[] arr = {1, 1, 2, 3, 3, 4, 4, 5, 5};int reslt = chapter.getOnceNum(arr,2);System.out.print("{1,1,2,3,3,4,4,5,5}中");System.out.println("只出现一次的数为:" + reslt);}
}
结果
转载于:https://www.cnblogs.com/lizhouwei/p/8969708.html
《程序员代码面试指南》第七章 位运算 在其他数都出现k 次的数组中找到只出现一次的数...相关推荐
- 《程序员代码面试指南》第二章 链表问题 构造链表和节点的实体
准备一些链表和节点的实体,方便后面使用 java代码 /*** @Description:构造一个链表实体,方便后续构造链表* @Author: lizhouwei* @CreateDate: 201 ...
- 《程序员代码面试指南》第二章 链表问题 在单链表和双链表中删除倒数第K个节点...
题目 在单链表和双链表中删除倒数第K个节点 java代码 /*** @Description:在单链表和双链表中删除倒数第K个节点* @Author: lizhouwei* @CreateDate: ...
- 《程序员代码面试指南》第二章 链表问题 搜索二叉树转换为双向链表
样例 树的中序遍历:1 2 3 4 5 6 7 ,转换后双向链表的遍历:1 2 3 4 5 6 7 java代码 /*** @Description:搜索二叉树转换为双向链表* @Author: li ...
- 《程序员代码面试指南》第二章 链表问题 反转部分单向链表
题目 给一个单向链表和开始和结束的位置,将这两位置区间链表进行反转 java代码 /*** @Description:反转部分单向链表* @Author: lizhouwei* @CreateDate ...
- 《程序员代码面试指南》第一章 栈和队列 设计一个有getMin功能的栈
题目 实现一个特殊的栈,在实现栈的基本功能上,再实现返回栈中最小的元素的操作 要求 1. pop.push.getMin操作时间复杂度都是O(1) 2. 设计的栈类型可以使用现成的栈结构 java代码 ...
- 《程序员代码面试指南》第二章 链表问题 删除无序链表中值重复的链表
样例 998 998 998 999 999 999 1000 1000 1000 删除后为998 999 1000 java代码 /*** @Description:删除无序链表中值重复的链表* @ ...
- 《程序员代码面试指南第二版》Python实现(个人读书笔记)
说明 最近在读左神的书---<程序员代码面试指南-IT名企算法与数据结构题目最优解(第二版)>以及看了一些左神的基础.进阶.高频等视频课程,为了记录自己的学习成果,并且方便以后查看,将自己 ...
- 算法大神左程云耗尽5年心血分享程序员代码面试指南第2版文档
前言 学习是一种基础性的能力.然而,"吾生也有涯,而知也无涯.",如果学习不注意方法,则会"以有涯随无涯,殆矣". 学习就像吃饭睡觉一样,是人的一种本能,人人都 ...
- 程序员代码面试指南第二版 4.猫狗队列
welcome to my blog 程序员代码面试指南第二版 4.猫狗队列 题目描述 题目描述 实现一种猫狗队列的结构,要求如下: 1. 用户可以调用 add 方法将 cat 或者 dog 放入队列 ...
最新文章
- 组策略 从入门到精通(二) 如何区别跨越WAN网的计算机对组策略的套用
- 【 Makefile 编程基础之三】详解 Makefile 变量的定义规则使用!
- python处理excel表格实例-使用Python操作excel文件的实例代码
- 关于AIX lv 4k offset问题初步了解
- rds基于什么开发_为什么不学基于TypeScript的Node.js服务端开发?
- iconpath 微信小程序_【报Bug】微信小程序 map 标记点iconPath图标 苹果手机 不能单个设置了。以前没有问题。现在不知道为啥不行了...
- hostname, aliases, ipaddrs = gethostbyaddr(name) UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte
- SAP 电商云 Spartacus SSR Optimization Engine 几处 timeout 的执行顺序
- iOS开发之手势识别
- 在ASP.NET CORE 2.0使用SignalR技术
- 面试突击第 3 期 | Redis 如何实现查询附近的人?视频实战版
- Selenium2+python自动化7-xpath定位
- Linux常出现的面试试题
- 知识图谱盛会再度开启!洞悉KG的前沿技术与最新实践探索!!
- cuda和cudnn下载地址
- SPSS实现重复测量方差分析
- ORA-20011: Approximate NDV failed: ORA-00600: internal error code, arguments
- 戴尔通过F12一次性引导菜单刷新BIOS
- 陈式太极拳式名考释、动作、着法要领说明
- 【iOS】—— Foundation框架(二)- 数组(NSArray与NSMutableArray)
热门文章
- Winforn中通过NPOI导出Excel时通过XSSFClientAnchor和XSSFPicture添加图片
- C#中在多个地方调用同一个触发器从而触发同一个自定义委托的事件
- Winform中使用控件的Dock属性设计窗体布局,使不随窗体缩放而改变
- 50本精品前端开发书籍免费下载
- SpringBoot+MyBatisPlus+DataTables实现退货管理的添加和编辑时控制checkbox的回显选中
- Vue实现仿音乐播放器项目总述以及阶段目录
- jd-eclipse反编译插件的离线安装和使用
- Node读取并输出txt文件内容
- ElementUI数据联动计算并实现数据校验
- python3 No module named 'PIL'