题目1256:找出两个只出现了一次的数字
- 题目描述:
-
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
- 输入:
-
输入的第一行包括一个整数N(1<=N<=1000)。
接下来的一行包括N个整数。
- 输出:
-
可能有多组测试数据,对于每组数据,
找出这个数组中的两个只出现了一次的数字。
输出的数字的顺序为从小到大。
- 样例输入:
-
6 2 3 9 3 7 2
- 样例输出:
-
7 9
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.OutputStreamWriter;
import java.io.StreamTokenizer;class Main
{public static final boolean DEBUG = false;public static int N = 30;public BufferedReader cin;public PrintWriter cout;public StreamTokenizer tokenizer;public int n;public int[] arr;public void init(){try {if (DEBUG) {cin = new BufferedReader(new InputStreamReader(new FileInputStream("d:\\OJ\\uva_in.txt")));} else {cin = new BufferedReader(new InputStreamReader(System.in));}cout = new PrintWriter(new OutputStreamWriter(System.out));tokenizer = new StreamTokenizer(cin);} catch (Exception e) {e.printStackTrace();}}public String next(){try {tokenizer.nextToken();if (tokenizer.ttype == StreamTokenizer.TT_EOF)return null;else if (tokenizer.ttype == StreamTokenizer.TT_NUMBER) {return String.valueOf((int) tokenizer.nval);}return null;} catch (Exception e) {e.printStackTrace();return null;}}public boolean input(){String s = next();if (s == null) return false;n = Integer.parseInt(s);return true;}public void solve(){arr = new int[n];int tmp = 0;for (int i = 0; i < n; i++) {arr[i] = Integer.parseInt(next());tmp ^= arr[i];}tmp = tmp & (-tmp);int a = 0, b = 0;for (int i = 0; i < n; i++) {if ((arr[i] & tmp) != 0) a ^= arr[i];else b ^= arr[i];}if (a > b) {tmp = a;a = b;b = tmp;}cout.println(a + " " + b);cout.flush();}public static void main(String[] args){Main solver = new Main();solver.init();while (solver.input()) {solver.solve();}}
}
题目1256:找出两个只出现了一次的数字相关推荐
- 找出数组中只出现了一次的数字(Java)
找出数组中只出现了一次的数字 题目 题目分析 方法1 方法2 方法3 代码实现 主方法 方法1 第一种:使用计数器的 第二种:不使用计数器 方法2 方法3 总结 题目 给定一个非空整数数组,除了某个元 ...
- 基于visual Studio2013解决面试题之0608找出两个只出现一次的数
题目 解决代码及点评 /*已知数组中有两个数只出现一次,其他成对出现,请找出这两个数解决办法:1)简化问题,如果数组中只有一个数出现一次,那么只要对这个数组做异或即可2)所以这个问题的根本是, ...
- js-FCC算法Smallest Common Multiple。找出两个参数和它们之间的连续数字的最小公倍数。...
存档. 找出能被两个给定参数和它们之间的连续数字整除的最小公倍数. function smallestCommons(arr) {//分解质因数法,分解为若干个质数相乘var arrratio=[]; ...
- 找出两个数组相同的元素
题目:找出两个数组(有重)相同的元素,两种方法 public class 出两个数组相同的元素 { public static void main(String[] args) { // TODO A ...
- DHU数据结构-顺序表- ADT应用-找出两个等长升序序列的中位数
目录 1.题目 2.题解 3.代码实现 1.题目 顺序表ADT模板简单应用算法设计:找出两个等长升序序列的中位数 作者: 教材 时间限制: 1S 章节: DS:线性表 问题描述 : 目的:使用自行设计 ...
- 高效的找出两个List中的不同元素
转自同名博文,未知真正出处,望作者见谅 如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素 ...
- 编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次。请写出程序求出这两个只出现了一次的数字之和
编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次.请写出程序求出这两个只出现了一次的数字之和 目录 题目描述 代码实现 题目描述 ...
- 表格字体缩小 php_如何快速找出两个Excel表格不同的地方?
上一篇文章介绍了如何快速找出两个word文档不同的地方,这篇文章来说说如何快速找出两个Excel表格不同的地方,这里说的两个Excel表格,可以是同一个工作簿的不同sheet,也可以是两个不同的Exc ...
- c语言 输入n*n矩阵,C语言函数 编程输入一个n*n矩阵中各元素的值,找出两条对角线上的元素之和...
题目: C语言函数 编程输入一个n*n矩阵中各元素的值,找出两条对角线上的元素之和 用函数怎么写 解答: #include #define N 5 void main() { \x09int matr ...
最新文章
- Spartan-6的存储元件、多路复用器、快速先行进位逻辑、算术逻辑
- JS获取当前/指定URL参数
- 中国大学单身 (民间)排行榜!你上榜了没
- 看雪Unicorn高级逆向与反混淆学习笔记
- 第三天:制定项目计划
- JQuery属性、事件相关操作
- 如何将SAP云平台Neo环境的Subaccount注册到IAS服务里
- typeahead有什么作用_typeahead使用配置参数。
- 有关label标签和单选按钮的注意事项
- 1048: 谭浩强C语言(第三版)习题6.4
- 06-Docker数据管理实践
- albers投影转WGS84坐标格式,读.shp.dbf文件,获取文件字符集工具类。
- Android开发:为什么你的学习效率如此低,为什么你很迷茫?
- CC3200学习——blinky资料
- 智能仓储系统作业流程及价值
- ticktock卖给oracle,Intel拾起Tick-Tock战略:2024/2025年重返CPU巅峰
- 实战:使用urllib.request爬取猫眼票房数据
- 标签类目体系(面向业务的数据资产设计方法论)-读书笔记2
- HTML5之audio实战,网页音乐播放器开发
- Oracle ASM磁盘组冗余机制(Failure group)
热门文章
- android控件属性
- vs目录(继承的值)配置
- SharePoint 学习笔记(一)
- 提高vb -》excel数据的导入速度
- python可以自学吗需要什么基础-python自学行吗?给编程初学者零基础入门的建议...
- python中文版-Python中文版
- 在当当买了python怎么下载源代码-Python爬取当当网APP数据
- python学了可以干什么-学了Python都能干什么,哪个最赚钱?
- python pandas读取excel-Python使用Pandas读写EXCEL文件教程
- python输出csv文件-Python之读取与写入CSV文件