蓝桥云课《算法很美》1.8 1.9出现k次与出现1次
2022/1/14 17:07:02
本文主要是介绍蓝桥云课《算法很美》1.8 1.9出现k次与出现1次,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 题目
- 思路
- 代码
题目
数组中只有一个数出现了1次,其他的数都出现了k次,请输出只出现了1次的数。
思路
解析:把十进制的数转化为k进制,k个k进制的数进行不进位相加,结果是0;那么剩下的就是那个出现一次的数。
eg:有10个11进行相加,原本1*10=10,原本应该进位的1舍去,就只能剩下0了。
代码
public class _07_出现k次 { public static void main(String[] args) { // TODO Auto-generated method stub int [] arr= {2,2,2,9,7,7,7,3,3,3,6,6,6,0,0,0}; int len=arr.length;//len:16 char[][] kRadix=new char[len][]; //kRadix:char[16][] int k=3; int maxlen=0; //转成k进制字符数组 //对于每个数字 for(int i=0;i<len;i++) { kRadix [i]=new StringBuilder(Integer.toString(arr[i],k)).reverse().toString().toCharArray(); if(kRadix[i].length>maxlen) { maxlen=kRadix[i].length; } } int[] resArr =new int[maxlen]; for(int i=0;i<len;i++) { //不进制加法 for(int j=0;j<maxlen;j++) { if(j>=kRadix[i].length) resArr[j]+=0; else resArr[j]+=(kRadix[i][j]-'0'); } } int res=0; for(int i=0;i<maxlen;i++) { res += (resArr[i]%k)*(int)(Math.pow(k, i)); } System.out.println(res); } }
学习笔记总目录: 最全的2021蓝桥杯算法课《算法很美》的学习笔记总目录
这篇关于蓝桥云课《算法很美》1.8 1.9出现k次与出现1次的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API