输入3个数,找出共同数字
2010-11-13 16:40
99 查看
题目: 输入3个数,输出具有的共同数字(如果存在)。例如,输入123,245,782则输出:2; 输入313,123,431则输出1,3。
为了实现高效,实现代码的时间复杂度与输入数字的位数成正比。
思路关键为: int[] num = new int[10]; num数组存储的是每个数字出现的个数,下标为该数字,值为此数字的个数。
实现代码如下:
import java.util.*;
public class Test4 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[] num = new int[10];
for(int k=1; k<4; k++) {
int temp = Integer.parseInt(s.next());
while(temp != 0) {
if(num[temp%10] < k)
num[temp%10]++;
temp = temp/10;
}
}
System.out.print("The intersect number are : ");
for(int i=0; i<10; i++)
if(num[i] == 3)
System.out.print(i+ " ");
}
}
运行结果:
为了实现高效,实现代码的时间复杂度与输入数字的位数成正比。
思路关键为: int[] num = new int[10]; num数组存储的是每个数字出现的个数,下标为该数字,值为此数字的个数。
实现代码如下:
import java.util.*;
public class Test4 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[] num = new int[10];
for(int k=1; k<4; k++) {
int temp = Integer.parseInt(s.next());
while(temp != 0) {
if(num[temp%10] < k)
num[temp%10]++;
temp = temp/10;
}
}
System.out.print("The intersect number are : ");
for(int i=0; i<10; i++)
if(num[i] == 3)
System.out.print(i+ " ");
}
}
运行结果:
相关文章推荐
- 8.8 输入一行文字,找出其中大写字母,小写字母,空格,数字以及其他字符各有多少
- 习题 8.8 输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。
- 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3
- 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{
- 碰到了点问题,求解。输入一行文字,找出其中大写字母,小写字母,空格,数字,以及其他字符各有多少。(指针)
- js 只能输入英文和数字,且首位必须是字母,字母总数不能超过3个,总长度不能超过20!
- 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
- 实现输入的四个数字找出最大最小并指出位置信息 动手修改程序3
- 输入5个数字,找出最大公约数
- 一、 找出函数中存在的问题。以下题目均在Lab05项目中完成。2、 找出项目中存在的缺陷,并给出解决的方案(至少3个,不包含下面那个举例)。 说明:这里所说的缺陷不一定都是错误,而是明显需要改进的地方。 如:不可以无限输入密码,容易被暴力破解,存在安全隐患。
- 输入一行文字,找出其中的大写字母、小写字母、空格、数字以及其他字符各有多少
- 汇编 输入3个数字排序 冒泡算法实现
- iOS textField输入数字时每隔3个数字就用逗号隔开
- js判断输入的字符串至少3个字母与3个数字组成
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 从输入的数中找出出现次数最多的数字
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
- C++:输入10个数字,找出最大最小值(可处理误输入)
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在