落单的数

落单的数1

题目描述:某一个数组里面只有一个数K出现了一次,其余的都出现了2次,找出这个数。

public static void main(String[] args) {
		int[] a=new int[]{1,1,2,2,3,3,4,4,5,5,6,7,7,8,8,9,9,0,0};
		int x=0;
		for(int i=0;i<a.length;i++){
			x=x^a[i];
		}
		System.out.println(x);
	}
	
	//解析:所有出现偶数次的数据  都会在连续的异或之后消掉,只剩下出现奇数次的数据

落单的数2

题目描述:一个数组,只有一个数单独出现,其余的数字都出现k次 如:222 444 777 8 000 333。 此时 k=3

public static void main(String[] args) {
		int k=3;
		int[] a=new int[]{2,2,2,4,4,4,7,7,7,8,0,0,0,3,3,3};
		int len=a.length;
		char[][] ch=new char[len][];
		int maxLen=0;
		//将每一个数字转换成k进制字符数组
		for(int i=0;i<a.length;i++){
			//求每一个数字的k进制字符串并翻转    :122--》221为了不进位加法时低位能够对齐
			ch[i]=new StringBuilder(Integer.toString(a[i],k)).reverse().toString().toCharArray();
			if(ch[i].length>maxLen){
				maxLen=ch[i].length;  //获取最大的字符串长度
			}
		}


		int[] 	resArr=new int[maxLen];
		for (int i = 0; i <len ; i++) {
			//不进位加法
			for (int j = 0; j <maxLen ; j++) {
				if(j>=ch[i].length){
					resArr[j]+=0; //不够的位数补0
				}else {
					resArr[j]+=(ch[i][j]-'0');
				}
			}
		}

		int res=0;
		//还原成10进制
		for (int i = 0; i <maxLen ; i++) {
			res+=(resArr[i]%k)*(int)Math.pow(k,i);
		}
		System.out.println(res);
	}

//解析:2个2进制的数做不进位加法:结果为0
	//10个10进制的数做不进位加:结果为0
	//k个k禁止的数做不进位加法,结果为0
	// 解题思路  :将所有的数转换成k进制,然后进行不进位的加法,最后剩余的那个数就是单独的那个数,在转成10进制
	//Java中的进制转换:Integer.toString(i,radix);args1:要转的数据  args2:要转的进制


全部评论

相关推荐

老粉都知道小猪猪我很久没更新了,因为秋招非常非常不顺利,emo了三个月了,接下来说一下我的情况吧本人是双非本&nbsp;专业是完全不着计算机边的非科班,比较有优势的是有两段大厂实习,美团和字节。秋招面了50+场泡池子泡死的:滴滴&nbsp;快手&nbsp;去哪儿&nbsp;小鹏汽车&nbsp;不知名的一两个小厂其中字节13场&nbsp;两次3面挂&nbsp;两次2面挂&nbsp;一次一面挂其中有2场面试题没写出来,其他的都是全a,但该挂还是挂,第三次三面才面进去字节,秋招加暑期总共面了22次字节,在字节的面评可以出成书了快手面了8场,2次实习的,通过了但没去,一次2面挂&nbsp;最后一次到录用评估&nbsp;至今无消息滴滴三面完&nbsp;没几天挂了&nbsp;所有技术面找不出2个问题是我回答不上来的,三面还来说我去过字节,应该不会考虑滴滴吧,直接给我干傻了去哪儿一天速通&nbsp;至今无消息小鹏汽车hr&nbsp;至今无消息美团2面挂&nbsp;然后不捞我了,三个志愿全部结束,估计被卡学历了虾皮二面挂&nbsp;这个是我菜,面试官太牛逼了拼多多二面挂&nbsp;3道题也全写了&nbsp;也没问题是回答不出来的&nbsp;泡一周后挂腾讯面了5次&nbsp;一次2面挂&nbsp;三次一面挂,我宣布腾讯是世界上最难进的互联网公司然后还有一些零零散散的中小厂,但是数量比较少,约面大多数都是大厂。整体的战况非常惨烈,面试机会少,就算面过了也需要和各路神仙横向对比,很多次我都是那个被比下去的人,不过这也正常,毕竟谁会放着一个985的硕士不招,反而去招一个双非读化学的小子感觉现在互联网对学历的要求越来越高了,不仅仅要985还要硕士了,双非几乎没啥生存空间了,我感觉未来几年双非想要进大厂开发的难度应该直线上升了,唯一的打法还是从大二刷实习,然后苟个转正,不然要是去秋招大概率是炮灰。而且就我面字节这么多次,已经开始问很多ai的东西了,你一破本科生要是没实习没科研懂什么ai啊,纯纯白给了
不知名牛友_:爸爸
秋招你被哪家公司挂了?
点赞 评论 收藏
分享
2025-12-26 10:52
河北传媒学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务