/*8月15日,百度2道面试题:
1、来自《编程之美》的概率题:一个桶里面有白球、黑球各100个,现在按下述规则取球:的
i 、每次从通里面拿出来两个球;
ii、如果取出的是两个同色的求,就再放入一个黑球;
ii、如果取出的是两个异色的求,就再放入一个白球。
问:最后桶里面只剩下一个黑球的概率是多少? 100% 因为白球总是两个两个的拿
2、算法题:给你一个自然数N,求[6,N]之内的所有素数中,两两之和为偶数的那些偶数。*/
/*9月5日,华为2014校园招聘的机试题目
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
压缩规则:
1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。
2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。
要求实现函数:
void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);
输入pInputStr: 输入字符串lInputLen: 输入字符串长度
输出 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
注意:只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“cccddecc” 输出:“3c2de2c”
输入:“adef” 输出:“adef”
输入:“pppppppp” 输出:“8p”*/
package interview;
import java.util.Scanner;import java.util.Set;
import java.util.HashSet;
public class Interview1{
public static void main(String[] args){
int is=1;
Set<Integer> set=new HashSet<Integer>();
Scanner in=new Scanner(System.in);
System.out.println("请输入一个大于6的数:");
int num=in.nextInt();
for(int i=6;i<=num;i++){
for(int j=2;j<i;j++){
if(i/j*j==i){
is=0;
break;
}
}
if(is==1){
set.add(i);
System.out.println(i);
}
is=1;
}
Object[] ob=set.toArray();
for(int i=0;i<ob.length;i++){
for(int j=i+1;j<ob.length;j++){
int sum=Integer.parseInt(ob[i].toString())+Integer.parseInt(ob[j].toString());
System.out.println("和为:"+sum);
}
}
}
}
package interview;
import java.util.Scanner;
public class Interview2{
public static void main(String[] args){
int num=1;
Scanner in=new Scanner(System.in);
StringBuffer newStr=new StringBuffer();
System.out.println("请输入一个字符串");
String oldStr=in.next();
char[] array=oldStr.toLowerCase().toCharArray();
for(int i=0;i<array.length;i++){
for(int j=i+1;j<array.length;j++){
if(array[i]!=array[j]){
break;
}
num++;
i++;
}
if(num>1){
newStr.append(num);
}
newStr.append(array[i]);
num=1;
}
System.out.println(newStr);
}
}
有更好的建议或算法还望指教!!!!(初次写博客)
或者有更多好的题目留下脚印吧互相讨论!!!!