java面试题 20170908
第一题 使用 list map 效果,会比我自己写的算法,快很多倍,所以算法应该是类似list map 的更快
package com.baoy.cn.study201707.test; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; public class Mainshi1 { public static void main(String[] args) { String[] a = { "a", "b", "a","c", "a", "aaa", "aaa" ,"a","b","c"}; long start1 = System.currentTimeMillis(); String[] b = compare(a); String resultbString = Arrays.toString(b); System.out.println(resultbString.substring(1, resultbString.length()-1).replace(" ","")); long end1 = System.currentTimeMillis(); long start2 = System.currentTimeMillis(); List<String> compare2 = compare2(a); String[] resultarr = (String[]) compare2.toArray(new String[compare2.size()]); String resultString = Arrays.toString(resultarr); System.out.println(resultString.substring(1, resultString.length()-1).replace(" ","")); long end2= System.currentTimeMillis(); System.out.println((end1-start1)+"\r\n"+(end2-start2)); } public static boolean compareLength(String[] param, int index, int current) { if (param[index].length() == param[current].length()) { return true; } return false; } public static boolean compareContent(String[] param, int index, int current) { if (compareLength(param, index, current)) { char[] indexChar = param[index].toCharArray(); int i = 0; while (i < indexChar.length) { if (param[current].charAt(i) != indexChar[i]) { return false; } i++; } return true; } else { return false; } } public static String[] compare(String[] param) { boolean[] flag = new boolean[param.length]; for (int i = 0; i < flag.length; i++) { flag[i] = true; } String[] temp = new String[param.length]; for (int i = 0; i < param.length; i++) { if (flag[i]) { temp[i] = param[i]; int k = 0; for (int j = i + 1; j < temp.length; j++) { if (compareContent(param, i, j)) { k++; flag[j] = false; temp[j] = param[j] + (k == 0 ? "" : k); } } } } return temp; } public static List<String> compare2(String[] param) { List<String> list = new ArrayList<String>(); Map<String,Integer> map = new HashMap<String, Integer>(); for (int i = 0; i < param.length; i++) { if (!map.containsKey(param[i])) { map.put(param[i],0); list.add(param[i]); }else{ map.put(param[i], map.get(param[i])+1); list.add(param[i]+map.get(param[i])); } } return list; } }
package com.baoy.cn.study201707.test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Mainshi2 { public static void main(String[] args) throws ParseException { String[] params = {"20170101 00:02:01", "20170101 05:04:02" ,"20170101 10:06:03", "20170101 15:08:04"}; test(params); } public static void test(String []param) throws ParseException{ SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMdd HH:mm:ss" ); Date date1 = sdf.parse(param[0]); Date date2 = sdf.parse(param[1]); long a = date2.getTime() -date1.getTime(); Calendar calendar=Calendar.getInstance(); calendar.setTimeInMillis(a); int hour =calendar.get(Calendar.HOUR); int minute =calendar.get(Calendar.MINUTE); int seconds =calendar.get(Calendar.SECOND); long day = a / (1000 * 60 * 60 * 24); long month= a / (1000 * 60 * 60 * 24) /30 ; long year= a / (1000 * 60 * 60 * 24)/365; System.out.println( (year > 0 ? year+"year":"")+ (month > 0 ? month+"month":"")+ (day > 0 ? day+"day":"")+ hour+"hour"+minute+"minute"+seconds+"second" ); } }
package com.baoy.cn.study201707.test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class Mainshi3 { public static void main(String[] args) { String[] params = { "A", "B", "C", "D" }; String[] rules = { "A->C", "B->C", "D->C" }; List<String> list = new ArrayList<String>(); order(list, "","", params); // [ ABCD, ABDC, ACBD, ACDB, ADBC, ADCB, // BACD, BADC, BCAD, BCDA, BDAC, BDCA, // CABD, CADB, CBAD, CBDA, CDAB, CDBA, // DABC, DACB, DBAC, DBCA, DCAB, DCBA] List<String> ordersort = ordersort(list, rules); String[] resultarr = (String[]) ordersort.toArray(new String[ordersort.size()]); String resultString = Arrays.toString(resultarr); System.out.println(resultString.substring(1, resultString.length()-1).replace(" ","")); } public static List<String> ordersort(List<String> res,String[] rules){ List<String> list = new ArrayList<String>(); for (int i = 0; i < res.size(); i++) { String line = res.get(i); boolean flag = true; for (int j = 0; j < rules.length; j++) { String[] rule = rules[j].split("->"); if (line.indexOf(rule[0]) > line.indexOf(rule[1])) { flag =false; } } if (flag) { list.add(line); } } return list; } public static void order(List<String> res,String preffix,String temp, String[] a) { preffix += temp ; if (a.length > 1) { for (int i = 0; i < a.length; i++) { List<String> list = Arrays.asList(a); List<String> list2 = new ArrayList<String>(Arrays.asList(new String[list.size()])); Collections.copy(list2, list); temp = a[i]; list2.remove(i); String[] b = (String[]) list2.toArray(new String[list2.size()]); order(res,preffix,temp, b); } } else { res.add(preffix+a[0]); } } }
package com.baoy.cn.study201707.test; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Mainshi4 { public static void main(String[] args) { int N1 =2; int N2 =3 ; print(N1, N2); } public static void print(int n1 ,int n2){ if(n1 ==0 && n1 ==1 &&n2 ==0 && n2 ==1){ System.out.println("null"); } String n1s = getCode(n1); String n2s = getCode(n2); List<String> list = new ArrayList<String>(); for (int i = 0; i < n1s.length() ; i++) { String one= n1s.substring(i, i+1); for (int j = 0; j < n2s.length(); j++) { String two= n2s.substring(j, j+1); list.add(one+two); } } String[] arr = (String[]) list.toArray(new String[list.size()]); String resultString = Arrays.toString(arr); System.out.println(resultString.substring(1, resultString.length()-1).replace(" ","")); } public static String getCode(int key) { switch (key) { case 1: return ""; case 2: return "abc"; case 3: return "def"; case 4: return "ghi"; case 5: return "jlk"; case 6: return "mno"; case 7: return "pqrs"; case 8: return "tuv"; case 9: return "wxyz"; case 0: return ""; default: break; } return ""; } }
package com.baoy.cn.study201707.test; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Mainshi6 { public static void main(String[] args) { int[] weight =new int []{ 7, 5, 3, 2, 6, 1, 4, 9}; String[] s =new String []{"A","B","C","D","E","F","G","H"}; sort(weight, s, 5); } public static void sort(int[] weight,String[] s,int n){ List <Alphabet> list = new ArrayList<Alphabet>(); int []all = new int [weight.length]; for (int i = 0; i < s.length; i++) { list.add(new Alphabet(weight[i],s[i])); } Collections.sort(list); for (int i = 0; i < n; i++) { System.out.print(list.get(i).alphabet); } } } class Alphabet implements Comparable<Alphabet>{ public int allweight; public String alphabet; public Alphabet(){} public Alphabet(int allweight, String alphabet) { this.allweight = allweight; this.alphabet = alphabet; } @Override public int compareTo(Alphabet o) { if (this.allweight > o.allweight) { return 1; }else if (this.allweight == o.allweight) { return 0; } return -1; } }
package com.baoy.cn.study201707.test; import java.util.ArrayList; import java.util.List; public class Mianshi9 { public static void main(String[] args) { Node a = new Node("A", null); Node b = new Node("B", null); Node c = new Node("C", null); Node d = new Node("D", null); Node e = new Node("E", null); Node f = new Node("F", null); Node g = new Node("G", null); Node h = new Node("H", null); Node i = new Node("I", null); c.setChild(f); c.setChild(g); c.setChild(h); b.setChild(e); d.setChild(i); a.setChild(b); a.setChild(c); a.setChild(d); a.test(a, c); } } class Node{ public String data; public List<Node> list; public Node(){} public Node(String data, List<Node> list) { this.data = data; this.list = list; } public void setChild(Node node){ if (list == null ) { list = new ArrayList<Node>(); } list.add(node); } public void order(Node localroot,Node red){ if(localroot.list != null){ for (Node node : localroot.list) { if (!node.data.equals(red.data)) { System.out.print(node.data); } } for (Node node : localroot.list) { if (!node.data.equals(red.data)) { order(node, red); } } } } public void test(Node root ,Node red){ System.out.print(root.data); root.order(root, red); } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。
个人主页:http://knight-black-bob.iteye.com/
谢谢您的赞助,我会做的更好!
相关推荐
史上最全的android和java面试文档集。包括有: java程序员面试宝典.txt Java面试宝典2011版-1C,Java基础部分.doc 三大框架面试题.zip 技术面试题.zip Android笔试题库 C语言终极面试宝典.doc Java笔试题目汇总.pdf ...
这里我们将根据"Java面试题全集(上)(中)(下)合集"来探讨这些核心知识点。 1. **基础语法**:这部分通常考察Java的基本数据类型、变量、运算符、流程控制(if,switch,for,while,do...while)、方法的定义...
主要是Java后端的,16K左右的,涉及SE、WEB、三大框架SSM、springboot、MQ、数据库、springcloud、JVM、Redis、多线程、hashmap的底层、面试技巧等 SSM涉及浅层的底层,如IOC、AOP,专为没看过源码的人应付面试准备...
《印客-Java进阶面试资料合集(29).zip》是一个针对Java开发者准备面试的资源包,其中包含了Spring Cloud Alibaba的学习笔记以及阿里巴巴Java开发规范的最新版本。这个资源包旨在帮助Java开发者深入理解技术,提升...
收集的Java面试题 包含: Java常见面试题.txt Java阶段评测技能题库.xlsx 软件工程师面试试题集 面试大总结(1)(2)(3)(4) 共20多个文档
那么,为什么在计算机技术相关岗位面试中,存在“八股文”内容的测评呢? 国内的互联网面试,恐怕是现存的、最接近科举考试的制度。 我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding...
中兴软创可能涉及到的编程语言有C、C++、Java、Python等。你需要熟练掌握至少一种面向对象编程语言,了解其语法特性、异常处理、内存管理等。此外,编程规范和代码优化也是面试中常见的考核点。 三、数据库篇 ...
java 第一阶段基础的测评,里面涉及面试的一些坑,比较细的细节知识点以及高频率出现的面试问题,希望可以帮到大家。
Display类主要用于管理屏幕上的显示内容,它在每个MIDlet(即小型Java应用程序,通常用于移动设备)中是唯一的,这意味着每个MIDlet只有一个Display对象。因此,选项B(Display对象在每个MIDlet之中只有1个)是正确...
2. "~$va笔试题常见英语.doc" 提到了笔试题,这可能是面试或招聘过程中的Java测试题目,其中可能包含了一些与Java测试相关的英文术语或概念。 3. "SCWCD Exam Study(updated).pdf" SCWCD代表Sun Certified Web ...
"软件开发技术面试常见题目" ...本资源摘要信息涵盖了软件开发面试中常见的通用问题和专业问题,涉及到 Java、C、C++、数据结构、数据库、网络等领域的知识点,为软件开发面试提供了有价值的参考资源。
此外,由于南瑞继保的产品涉及到大量的软件开发,所以C++、Java等编程语言的应用也是笔试的重点。在准备过程中,考生应深入学习这些领域的知识,并通过模拟试题进行实战训练。 其次,面试环节则更加注重个人素质和...
### JAVA面试宝典知识点梳理 #### 一、项目概述与技术栈 - **项目名称**:XXX考试App管理系统 - **技术栈**:Eclipse + Tomcat + MySQL + JDK + Spring + SpringMVC + MyBatis + Oauth2.0 + shiro - **功能描述**...
以上知识点不仅涵盖了J2EE的基础技术栈,还包括了数据库操作、Java编程等关键技能,对于准备参加神州数码面试的应聘者来说是非常有价值的复习资料。希望这些知识点能帮助大家更好地理解相关技术,并为面试做好充分...
Java初学者都必须知道的六大问题.doc 百度笔试题.txt 北京博彦科技笔试+面试.doc 北京大学计算机科学技术研究所.doc 波尔世通的笔试+面试.doc 测试人员面试题.doc 测试题.doc 常见的测试题(转贴).doc 传视数码...
通过以上分析可以看出,浪潮通信的面试题目覆盖了Java基础、SQL基本操作等多个方面,旨在考察应聘者的基础知识掌握程度和技术能力。对于参加面试的人来说,这些题目能够帮助评估应聘者的编程能力和对基础知识的理解...
对于IT行业的面试,可能会具体到某种编程语言(如Java、Python)、特定技术框架(如React、Angular)或数据库管理系统(如SQL Server、Oracle)的熟练度。 3. **工作经历与项目经验**:面试人员的过往工作经历和...
Java版的代码实现是书中理论知识的具体实践,确保了正确性并已在在线评测系统(OJ)上通过了所有测试用例(AC),具有很高的参考价值。 在Java版的代码实现中,我们可以学习到以下关键知识点: 1. **基础语法**:...
SHL是一家知名的测评公司,他们提供的在线试题常常被用来评估应聘者在Java EE领域的技能和知识水平。 在"SHL(Java.Platform.Enterprise.Edition)在线试题"中,我们可以期待涵盖以下几个关键知识点: 1. **Java基础...
阿里巴巴Java性能调优华山版是一套系统性能调优教程,!通过这份笔记的学习,你将会有一个系统的调优头脑和策略!快了何止100%?需要的朋友可下载试试! 众所周知性能调优可以使系统稳定,用户体验更佳,甚至在...