给定一个整型数组arr和一个大于1的整数k。已知arr中只有1个数出现了一次,其他的数出现k次,请返回出现了1次的数。-笔试面试资料
这是qklbishe.com第5968 篇笔试面试资料
提供答案分析,通过本文《给定一个整型数组arr和一个大于1的整数k。已知arr中只有1个数出现了一次,其他的数出现k次,请返回出现了1次的数。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。
答案:
给定一个整型数组arr和一个大于1的整数k。已知arr中只有1个数出现了一次,其他的数出现k次,请返回出现了1次的数。
JavaScript
别卷啦!
遍历数组里面的数的每个比特位,然后将32位比特位中不能被k整除的1,依次还原,最终得到所需数字。
function foundOnceNumber( arr , k ) { // write code here //计算每一位上出现1的个数,%k得到出现一次的数 let res = 0; for(let i=0;i<32;++i){ let sum =0; for(let num of arr){ //用无符号右移,防止正负号的影响 //依次右移num,同1相与,计算每一位上1的个数 sum+=(num>>i)&1 } //对sum取余,左移恢复 res^=(sum%k)<<i } return res }
今天 16:38:43 回复(0)
文章部分来自互联网,侵权联系删除
www.qklbishe.com
区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站部分资料来自网络,侵权联系删除!资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给定一个整型数组arr和一个大于1的整数k。已知arr中只有1个数出现了一次,其他的数出现k次,请返回出现了1次的数。-笔试面试资料
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给定一个整型数组arr和一个大于1的整数k。已知arr中只有1个数出现了一次,其他的数出现k次,请返回出现了1次的数。-笔试面试资料