`
knight_black_bob
  • 浏览: 842004 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 面试 百一测评

阅读更多

 

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/



 
 
 谢谢您的赞助,我会做的更好!

  • 大小: 734.1 KB
  • 大小: 695.2 KB
  • 大小: 637.4 KB
  • 大小: 508.3 KB
  • 大小: 784.8 KB
  • 大小: 580.6 KB
  • 大小: 666.6 KB
  • 大小: 698.9 KB
  • 大小: 794.3 KB
0
1
分享到:
评论

相关推荐

    android和java面试大全集

    史上最全的android和java面试文档集。包括有: java程序员面试宝典.txt Java面试宝典2011版-1C,Java基础部分.doc 三大框架面试题.zip 技术面试题.zip Android笔试题库 C语言终极面试宝典.doc Java笔试题目汇总.pdf ...

    Java面试题全集(上)(中)(下)合集

    这里我们将根据"Java面试题全集(上)(中)(下)合集"来探讨这些核心知识点。 1. **基础语法**:这部分通常考察Java的基本数据类型、变量、运算符、流程控制(if,switch,for,while,do...while)、方法的定义...

    大型国企内部Java面试题

    主要是Java后端的,16K左右的,涉及SE、WEB、三大框架SSM、springboot、MQ、数据库、springcloud、JVM、Redis、多线程、hashmap的底层、面试技巧等 SSM涉及浅层的底层,如IOC、AOP,专为没看过源码的人应付面试准备...

    Java面试题大全(整合版)

    收集的Java面试题 包含: Java常见面试题.txt Java阶段评测技能题库.xlsx 软件工程师面试试题集 面试大总结(1)(2)(3)(4) 共20多个文档

    存放一些收集的 Java 面试八股文.rar

    那么,为什么在计算机技术相关岗位面试中,存在“八股文”内容的测评呢? 国内的互联网面试,恐怕是现存的、最接近科举考试的制度。 我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding...

    各种笔试面试大合集(中兴软创为主)

    中兴软创可能涉及到的编程语言有C、C++、Java、Python等。你需要熟练掌握至少一种面向对象编程语言,了解其语法特性、异常处理、内存管理等。此外,编程规范和代码优化也是面试中常见的考核点。 三、数据库篇 ...

    java第一阶段测评(1).md

    java 第一阶段基础的测评,里面涉及面试的一些坑,比较细的细节知识点以及高频率出现的面试问题,希望可以帮到大家。

    百一测评——计算机网络应用基础-android模拟试题018.pdf

    Display类主要用于管理屏幕上的显示内容,它在每个MIDlet(即小型Java应用程序,通常用于移动设备)中是唯一的,这意味着每个MIDlet只有一个Display对象。因此,选项B(Display对象在每个MIDlet之中只有1个)是正确...

    java 测试

    2. "~$va笔试题常见英语.doc" 提到了笔试题,这可能是面试或招聘过程中的Java测试题目,其中可能包含了一些与Java测试相关的英文术语或概念。 3. "SCWCD Exam Study(updated).pdf" SCWCD代表Sun Certified Web ...

    软件开发技术面试常见题目

    "软件开发技术面试常见题目" ...本资源摘要信息涵盖了软件开发面试中常见的通用问题和专业问题,涉及到 Java、C、C++、数据结构、数据库、网络等领域的知识点,为软件开发面试提供了有价值的参考资源。

    南瑞继保笔试面试题及面经分析

    此外,由于南瑞继保的产品涉及到大量的软件开发,所以C++、Java等编程语言的应用也是笔试的重点。在准备过程中,考生应深入学习这些领域的知识,并通过模拟试题进行实战训练。 其次,面试环节则更加注重个人素质和...

    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程序员面试自我介绍技巧[修改版].pdf,这是一份不错的文件

    3. 突出重点:围绕面试职位的需求和面试测评的重点组织内容,展示你的优势和如何适合这个岗位。 4. 自信和诚实:展示你的自信,但避免夸大事实。谈论优点时保持谦虚,提到缺点时,要表达出积极改正的决心。 5. 与...

    浪潮面试题九月中旬去浪潮通信面试试题

    通过以上分析可以看出,浪潮通信的面试题目覆盖了Java基础、SQL基本操作等多个方面,旨在考察应聘者的基础知识掌握程度和技术能力。对于参加面试的人来说,这些题目能够帮助评估应聘者的编程能力和对基础知识的理解...

    面试人员测评表.doc

    对于IT行业的面试,可能会具体到某种编程语言(如Java、Python)、特定技术框架(如React、Angular)或数据库管理系统(如SQL Server、Oracle)的熟练度。 3. **工作经历与项目经验**:面试人员的过往工作经历和...

    《剑指offer》Java版代码

    Java版的代码实现是书中理论知识的具体实践,确保了正确性并已在在线评测系统(OJ)上通过了所有测试用例(AC),具有很高的参考价值。 在Java版的代码实现中,我们可以学习到以下关键知识点: 1. **基础语法**:...

    阿里巴巴Java性能调优实战(2021-2022华山版)+Java架构核心宝典+性能优化手册100技巧.rar

    阿里巴巴Java性能调优华山版是一套系统性能调优教程,!通过这份笔记的学习,你将会有一个系统的调优头脑和策略!快了何止100%?需要的朋友可下载试试! 众所周知性能调优可以使系统稳定,用户体验更佳,甚至在...

    SHL(Java.Platform.Enterprise.Edition)在线试题

    SHL是一家知名的测评公司,他们提供的在线试题常常被用来评估应聘者在Java EE领域的技能和知识水平。 在"SHL(Java.Platform.Enterprise.Edition)在线试题"中,我们可以期待涵盖以下几个关键知识点: 1. **Java基础...

Global site tag (gtag.js) - Google Analytics