java算法面试题
2013-10-21 17:45
183 查看
下面是某些企业常见的算法面试试题,现总结如下,仅供学员参考与学习。
1.比较两个字符串如果不等返回True?
答案:
Java代码
package com.test.kaoshi;
public class StringDemo {
private static String a = "abc";
private static String b = "abcg";
public static boolean equalString() {
if (a.equals(b)) {
return false;
} else {
return true;
}
}
public static void main(String[] args) {
StringDemo sd = new StringDemo();
System.out.println("主要考察返回Boolean变量和字符串比较使用的方法?+sd.equalString());
}
}
[java]
view plaincopyprint?
package com.test.kaoshi; public class StringDemo { private static String a = "abc"; private static String b = "abcg"; public static boolean equalString() { if (a.equals(b)) { return false; } else { return true; } } public static void main(String[] args) { StringDemo sd = new StringDemo(); System.out.println("主要考察返回Boolean变量和字符串比较使用的方法?+sd.equalString()); } }
2.随机产生20个字符并且排序?
答案:
Java代码
package com.test.kaoshi;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;
public class RadomDemo {
/**
* 随机产生20个字符串并且字符串不能重复 且进行排序
* @param random
* @param len
* @return
*/
public Set getChar(){
Set numberSet01 = new HashSet();
Random rdm = new Random();
char ch;
while(numberSet01.size()<20){
int rdGet = Math.abs(rdm.nextInt())%26+97;//产生97到122的随机数a-z值
ch=(char)rdGet;
numberSet01.add(ch);
//Set中是不能放进重复的值的,当它有20个时,就满足你的条件了
}
return numberSet01;
}
public static void main(String[] args) {
RadomDemo rd = new RadomDemo();
Set numberSet01=rd.getChar();
Set numberSet = new TreeSet();
numberSet.addAll(numberSet01);
for(Iterator it=numberSet01.iterator();it.hasNext();){
System.out.print(it.next());
}
System.out.println();
for(Iterator it=numberSet.iterator();it.hasNext();){
System.out.print(it.next());
}
}
}
[java]
view plaincopyprint?
package com.test.kaoshi;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;
public class RadomDemo {
/**
* 随机产生20个字符串并且字符串不能重复 且进行排序
* @param random
* @param len
* @return
*/
public Set getChar(){
Set numberSet01 = new HashSet();
Random rdm = new Random();
char ch;
while(numberSet01.size()<20){
int rdGet = Math.abs(rdm.nextInt())%26+97;//产生97到122的随机数a-z值
ch=(char)rdGet;
numberSet01.add(ch);
//Set中是不能放进重复的值的,当它有20个时,就满足你的条件了
}
return numberSet01;
}
public static void main(String[] args) {
RadomDemo rd = new RadomDemo();
Set numberSet01=rd.getChar();
Set numberSet = new TreeSet();
numberSet.addAll(numberSet01);
for(Iterator it=numberSet01.iterator();it.hasNext();){
System.out.print(it.next());
}
System.out.println();
for(Iterator it=numberSet.iterator();it.hasNext();){
System.out.print(it.next());
}
}
}
3.50个人围成一圈数到三和三的倍数时出圈,问剩下的人是谁?在原来的位置是多少?
答案:
Java代码
package com.test.kaoshi;
import java.util.Iterator;
import java.util.LinkedList;
public class YouXi {
public static int removeNM(int n, int m) {
LinkedList ll = new LinkedList();
for (int i = 0; i < n; i++)
ll.add(new Integer(i + 1));
int removed = -1;
while (ll.size() > 1) {
removed = (removed + m) % ll.size();
ll.remove(removed--);
}
return ((Integer) ll.get(0)).intValue();
}
public static void main(String[] args) {
System.out.println(removeNM(50, 3));
}
}
1.比较两个字符串如果不等返回True?
答案:
Java代码
package com.test.kaoshi;
public class StringDemo {
private static String a = "abc";
private static String b = "abcg";
public static boolean equalString() {
if (a.equals(b)) {
return false;
} else {
return true;
}
}
public static void main(String[] args) {
StringDemo sd = new StringDemo();
System.out.println("主要考察返回Boolean变量和字符串比较使用的方法?+sd.equalString());
}
}
[java]
view plaincopyprint?
package com.test.kaoshi; public class StringDemo { private static String a = "abc"; private static String b = "abcg"; public static boolean equalString() { if (a.equals(b)) { return false; } else { return true; } } public static void main(String[] args) { StringDemo sd = new StringDemo(); System.out.println("主要考察返回Boolean变量和字符串比较使用的方法?+sd.equalString()); } }
package com.test.kaoshi; public class StringDemo { private static String a = "abc"; private static String b = "abcg"; public static boolean equalString() { if (a.equals(b)) { return false; } else { return true; } } public static void main(String[] args) { StringDemo sd = new StringDemo(); System.out.println("主要考察返回Boolean变量和字符串比较使用的方法?+sd.equalString()); } }
2.随机产生20个字符并且排序?
答案:
Java代码
package com.test.kaoshi;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;
public class RadomDemo {
/**
* 随机产生20个字符串并且字符串不能重复 且进行排序
* @param random
* @param len
* @return
*/
public Set getChar(){
Set numberSet01 = new HashSet();
Random rdm = new Random();
char ch;
while(numberSet01.size()<20){
int rdGet = Math.abs(rdm.nextInt())%26+97;//产生97到122的随机数a-z值
ch=(char)rdGet;
numberSet01.add(ch);
//Set中是不能放进重复的值的,当它有20个时,就满足你的条件了
}
return numberSet01;
}
public static void main(String[] args) {
RadomDemo rd = new RadomDemo();
Set numberSet01=rd.getChar();
Set numberSet = new TreeSet();
numberSet.addAll(numberSet01);
for(Iterator it=numberSet01.iterator();it.hasNext();){
System.out.print(it.next());
}
System.out.println();
for(Iterator it=numberSet.iterator();it.hasNext();){
System.out.print(it.next());
}
}
}
[java]
view plaincopyprint?
package com.test.kaoshi;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;
public class RadomDemo {
/**
* 随机产生20个字符串并且字符串不能重复 且进行排序
* @param random
* @param len
* @return
*/
public Set getChar(){
Set numberSet01 = new HashSet();
Random rdm = new Random();
char ch;
while(numberSet01.size()<20){
int rdGet = Math.abs(rdm.nextInt())%26+97;//产生97到122的随机数a-z值
ch=(char)rdGet;
numberSet01.add(ch);
//Set中是不能放进重复的值的,当它有20个时,就满足你的条件了
}
return numberSet01;
}
public static void main(String[] args) {
RadomDemo rd = new RadomDemo();
Set numberSet01=rd.getChar();
Set numberSet = new TreeSet();
numberSet.addAll(numberSet01);
for(Iterator it=numberSet01.iterator();it.hasNext();){
System.out.print(it.next());
}
System.out.println();
for(Iterator it=numberSet.iterator();it.hasNext();){
System.out.print(it.next());
}
}
}
package com.test.kaoshi; import java.util.HashSet; import java.util.Iterator; import java.util.Random; import java.util.Set; import java.util.TreeSet; public class RadomDemo { /** * 随机产生20个字符串并且字符串不能重复 且进行排序 * @param random * @param len * @return */ public Set getChar(){ Set numberSet01 = new HashSet(); Random rdm = new Random(); char ch; while(numberSet01.size()<20){ int rdGet = Math.abs(rdm.nextInt())%26+97;//产生97到122的随机数a-z值 ch=(char)rdGet; numberSet01.add(ch); //Set中是不能放进重复的值的,当它有20个时,就满足你的条件了 } return numberSet01; } public static void main(String[] args) { RadomDemo rd = new RadomDemo(); Set numberSet01=rd.getChar(); Set numberSet = new TreeSet(); numberSet.addAll(numberSet01); for(Iterator it=numberSet01.iterator();it.hasNext();){ System.out.print(it.next()); } System.out.println(); for(Iterator it=numberSet.iterator();it.hasNext();){ System.out.print(it.next()); } } }
3.50个人围成一圈数到三和三的倍数时出圈,问剩下的人是谁?在原来的位置是多少?
答案:
Java代码
package com.test.kaoshi;
import java.util.Iterator;
import java.util.LinkedList;
public class YouXi {
public static int removeNM(int n, int m) {
LinkedList ll = new LinkedList();
for (int i = 0; i < n; i++)
ll.add(new Integer(i + 1));
int removed = -1;
while (ll.size() > 1) {
removed = (removed + m) % ll.size();
ll.remove(removed--);
}
return ((Integer) ll.get(0)).intValue();
}
public static void main(String[] args) {
System.out.println(removeNM(50, 3));
}
}
相关文章推荐
- 经典java算法--面试题(不断更新)17.9.13
- java算法面试题-----1
- java算法面试题
- Java算法面试题
- 关于一道google面试题的java算法
- 中兴面试题 : 输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数, 使其和等于 m. --java算法解决方法。
- java算法面试题积累
- 面试题-Java算法篇
- java算法面试题之一
- Java算法面试题 一个顺子带一对
- Java算法面试题(005) 求n边形周长的k等分点坐标(今日头条)
- Java算法面试题(006) 相遇问题(阿里)
- Java算法面试题(003) 如何检查一个字符串是另外一个字符串的旋转字符串
- Java算法面试题及答案
- Java算法面试题(009) 毒酒问题
- java算法面试题
- Java算法面试题(007) 蒙提霍尔问题(三门问题)
- Java算法面试题
- 微软面试题
- java面试题