出现k次和出现1次的数
题目描述:
数组中只有一个数出现了1次,其他的数都出现了k次,请输出出现了1次的数
分析:
这道题有很多种做法,但是这里我们只考虑如何利用进制的方法去做,多的也不说,大家只要记住一个结论k个相同的k进制数做不进位加法结果为 0。举个例子,3个相同的三进制数,假设个这个数是2,2的三进制是011,所以三个011做不进位加法结果就是011+011+011=000;再比方说10个十 进制数相加,假设这个数是10,做不进位加法最后结果也是0
import java.util.*;
public class Main {public static void main(String[] args) {Scanner cin = new Scanner(System.in);
int[] arr = {3,3,3,5,7,7,7,8,8,8,6,6,6};
int len = arr.length;
char[][] kRadix = new char[len][];
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(maxlen < kRadix[i].length)
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);
}
}
出现k次和出现1次的数相关推荐
- 贪心:remove K digits移除K个数字
问题描述: 已知一个使用字符串表示的非负整数num,将num中的k个数字移 除,求移除k个数字后,可以获得的最小的可能的新数字. 例如:num = "1432219" , k = ...
- python递归算法 电影院票价问题_算法课堂实验报告(二)——python递归和分治(第k小的数,大数乘法问题)...
python实现递归和分治 一.开发环境 开发工具:jupyter notebook 并使用vscode,cmd命令行工具协助编程测试算法,并使用codeblocks辅助编写C++程序 编程语言:py ...
- 机器学习 —— 基础整理(三)生成式模型的非参数方法: Parzen窗估计、k近邻估计;k近邻分类器...
本文简述了以下内容: (一)生成式模型的非参数方法 (二)Parzen窗估计 (三)k近邻估计 (四)k近邻分类器(k-nearest neighbor,kNN) (一)非参数方法(Non-param ...
- python【蓝桥杯vip练习题库】ALGO-1区间k大数查询
试题 算法训练 区间k大数查询 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示 ...
- 算法训练 区间k大数查询
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数 ...
- 蓝桥杯-区间k大数查询(java)
算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个.输入格式第一行包含一个数n,表示序列长度.第二行包含n个 ...
- NYOJ 762 第k个互质数(二分 + 容斥)
第k个互质数 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 两个数的a,b的gcd为1,即a,b互质,现在给你一个数m,你知道与它互质的第k个数是多少吗?与m互质的数按 ...
- 机器学习理论《统计学习方法》学习笔记:第三章 k近邻法
机器学习理论<统计学习方法>学习笔记:第三章 k近邻法 3 k近邻法 3.1 K近邻算法 3.2 K近邻模型 3.2.1 模型 3.2.2 距离度量 3.2.3 K值的选择 3.2.4 分 ...
- java:区间k大数查询
试题 算法训练 区间k大数查询 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示 ...
最新文章
- Help Johnny-(类似杭电acm3568题)
- CF70D Professor's task(动态凸包)
- QT 5 安装 vs2017 后,出现找不到 rc.exe 问题
- CSP-2019总结
- SQLite的基本使用一
- php归档函数(按时间)实现
- 【遥感数字图像处理】基础知识:第五章 遥感图像增强处理方法总结
- Hadoop小知识点
- 潭州Java中级班(day_05)
- 通过迁移的方式解决Active Directory服务器问题之5-恢复服务器的应用
- SpringCloud之实现下载Excel模板文件
- H5前端的关于像素解释
- Influx Sql系列教程三:measurement 表
- Python多线程抓取网页图片地址
- 关于echarts人物关系图,节点展现为图片
- JAVA专业课题研究方向有哪些,课题研究方向有哪些
- 百万并发下的Nginx优化,看这一篇就够了!
- Windows常见扩展名介绍
- Linux命令入门教程(三):文件基础篇
- “统信杯” 第十七届黑龙江省大学生程序设计竞赛