五一前去轩辕互动面试了,先人力面试,介绍完自己,介绍项目,还让我计算每天北京会喝掉多少咖啡,我靠,汗,还让我给一具体数字,瞎算了一下,30万,最后让我用英文介绍一个自己喜欢的人,发现口语还是不好.......balabala
之后开始上机编程,刚开发明明说的是就三道题(一共三人做上机题),说实在的都是基础题,可以用c、c++、java、c#什么都成,我全做出来了,就走了,走进电梯,关上门,故意没按下降按钮,我想反思一下,也休息一下,因为状态不好,晚上睡的晚,1点多睡的,看火箭的季后赛,呵呵,早上6点起的,坐了三小时的车,上机编程的时候头还是晕的呢。结果就在靠电梯休息了不到30秒,人力面试我的那人追出来了,说她同事又给了我一道题,说实在的,我真不想再回去做了,头很晕,心劲儿也放下了,果然回去在规定的三十分钟内,写出的程序没有通过样例正确性验证,就被强迫提交了白卷,哎........郁闷啊。
今天收到轩辕互动的拒绝信了,呵呵,意料之中啊。
不过回来把最后一道程序题也写出来了,就是找排序后的值,在原数组中的下标,同时把所有的相关上机题都贴出来,以供大家参考
package testInterview; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; import java.util.Map; public class testXuanYuan { @SuppressWarnings("static-access") public static void main(String[] args) { // int[] numbers = {1,3,5,7,8,25,4,20}; int[] numbers2 = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 6, 6, 7, 7, 8 }; int[] numbers3 = { 2, -2, -3, -4, 3, 4, 5, 6, -7, 8 }; int[] numbers4 = { 2,1,3,7,6,5,4}; testXuanYuan t = new testXuanYuan(); // int a=t.equity(numbers); // System.out.print(a); // int b=t.getZhiPeiDian(numbers2); // System.out.print(b); // t.getDiffernt(numbers3); //测试排序后数字在原数组中的索引 Set<Integer> tSet=new TreeSet<Integer>(); tSet=t.sort(numbers4); for(Integer x:tSet){ System.out.println(x+"原数组中的序号为"+t.findIndex(numbers4, x)+"."); } } // 查找一个整型数组的平衡点. public static int equity(int[] numbers) { int total = 0; for (int i = 0; i < numbers.length; i++) { total += numbers[i]; } int frontSum = 0; for (int i = 0; i < numbers.length; i++) { int backSum = total - frontSum - numbers[i]; System.out.println(i + "------" + frontSum); System.out.println(i + "------" + backSum); if (frontSum == backSum) { return i; } frontSum += numbers[i]; } return -1; } // 寻找支配点 public static int getZhiPeiDian(int[] temp) { int size = temp.length; Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (Integer x : temp) { Integer freq = map.get(x); map.put(x, (freq == null ? 1 : freq + 1)); } for (Map.Entry<Integer, Integer> entry : map.entrySet()) { Integer eachCount = entry.getValue(); if (eachCount.intValue() > (size / 2)) return entry.getKey(); } throw new RuntimeException("Can not find zhiPeiDian"); } // 实现一个整型数组类似java.lang.String的charAt方法. public static int intAt(int a[], int index) throws Exception { if (index >= 0 && index < a.length) { return a[index]; } else throw new Exception("Argument Error"); } // 实现一个去除整型数组中绝对值相同的数字.最后返回一个长度. public static int getDiffernt(int arr[]) { Set<Integer> set = new TreeSet<Integer>(); for (int i = 0; i < arr.length; i++) { set.add(Math.abs(arr[i])); } for (Integer x : set) { System.out.print(x); } return set.size(); } /* * 对一个数组进行排序,利用TreeSet * 输入参数:数组 * 输出参数:Set */ public Set<Integer> sort(int c[]){ TreeSet<Integer> tSet=new TreeSet<Integer>(); for(int j=0;j<c.length;j++){ tSet.add(c[j]); } return tSet; } /* * 找一个数在数组中的索引(下标) * 输入参数:数组,要找的数字 * 输出参数:对应的下标 */ public int findIndex(int a[],int b){ for(int i=0;i<a.length;i++){ if(a[i]==b){ return i; } } return -1; } }