笔试题-编程
来源:互联网 发布:crm软件有哪些 编辑:程序博客网 时间:2024/05/01 12:35
抛砖引玉,还望各位大侠提供更好的方法
1.编程:通过线程每个一秒打印如下字符串:“ABCDEFG”,输出结果为:
A
AB
ABC
ABCD
ABCDE
ABCDEF
ABCDEFG
继承Thread:
package main;public class ThreadA extends Thread{private String A = "ABCDEFG";public void run(){try { int length = A.length(); for(int i=1;i<=length;i++){ System.out.println(A.substring(0, i)); sleep(1000); }} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}} public void a(){ }public static void main(String args[]){ThreadA ta = new ThreadA();ta.start();}}
实现Runnable接口
package main;public class ThreadB implements Runnable{private String A = "ABCDEFG";@Overridepublic void run() {// TODO Auto-generated method stub try { int length = A.length(); for(int i=1;i<=length;i++){ System.out.println(A.substring(0, i)); Thread.sleep(1000); }} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}} public static void main(String args[]){ ThreadB tb = new ThreadB(); Thread thread = new Thread(tb); thread.start(); }}
2.编程:输出打印如下字符串中各字母出现的次数,采用效率最高的一种方法
方法一:效率应该低些
package main;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;public class HowTime {private String t = null;private String g = null;public void count(String A){Map<String, Integer> hashMap = new HashMap<String, Integer>();for(int i=1;i<=A.trim().length();i++){int time = 0;t = A.trim().substring(i-1,i);g = A.trim().substring(0,i-1);if(g.contains(t)){int count = hashMap.get(t)+1;hashMap.put(t, count);}else{hashMap.put(t, ++time);} }Iterator<Entry<String, Integer>> iterator = hashMap.entrySet().iterator();while(iterator.hasNext()){Entry<String, Integer> entry = iterator.next();int j = (Integer) entry.getValue();String h = (String) entry.getKey();System.out.println(h+"出现的次数为:"+j);}}public static void main(String args[]){long startTime=System.nanoTime(); //获取开始时间String A = "abdafasfasfaadfioewl;k asfd asdf";HowTime ht = new HowTime();ht.count(A);long endTime=System.nanoTime(); //获取结束时间System.out.println("程序运行时间: "+(endTime-startTime)+"ns");}}
方法二;效率应该稍微高些
package main;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;public class HowTimes {public void count(String A){Map<Character, Integer> hashMap = new HashMap<Character, Integer>();char[] a = A.toCharArray();for(int i=0;i<a.length;i++){if(hashMap.containsKey(a[i])){hashMap.put(a[i], hashMap.get(a[i])+1);}else{hashMap.put(a[i], 1);} }Iterator<Entry<Character, Integer>> iterator = hashMap.entrySet().iterator();while(iterator.hasNext()){Entry<Character, Integer> entry = iterator.next();int j = (Integer) entry.getValue();Character h = (Character) entry.getKey();System.out.println(h+"出现的次数为:"+j);}}public static void main(String args[]){long startTime=System.nanoTime(); //获取开始时间String A = "abdafasfasfaadfioewl;k asfd asdf";HowTimes ht = new HowTimes();ht.count(A);long endTime=System.nanoTime(); //获取结束时间System.out.println("程序运行时间: "+(endTime-startTime)+"ns");}}
0 0
- 笔试编程题一道
- Shell编程笔试题
- 笔试编程题
- 网络编程笔试题
- 笔试编程题
- 笔试编程题
- 常见笔试编程题
- 应届生笔试编程题
- 笔试--编程题
- 笔试编程题
- 笔试编程题
- 笔试编程题
- 腾讯笔试编程题
- 笔试题-编程
- 腾讯笔试编程题
- 【笔试】百度编程题
- 笔试题编程二
- 编程笔试题
- 5.一个三维数组,如何根据最后一维的数字大小正序排列,当然同时要保证索引的关联
- Window下Python环境变量配置
- 最优性条件
- Java中枚举的梗
- PhoneGap中HTTP链接自动调用本地浏览器解决办法
- 笔试题-编程
- svn: applying log message to xxxx Could not execute PROPPATCH错误
- C++中的static关键字
- 项目管理的一些个人感想
- Java单例模式与工厂模式简单示例代码
- Flash XSS攻击总结
- 使用Intellij创建第一个Springboot程序
- Unable to resolve superclass of L错误
- linux下源码安装软件