3月13号江安笔试。
四道算法题。
第一:求一个整数的逆序。我的做法就是除10取余,以及取除数,然后用append()追加到StringBuffer里面,然后Integer.valueof()输出。注意要考虑负数的情况。 当时没太注意。
第二:两个一样的数组,在一个中间插入0,求小于O(n)的解法找出插入0的位置,二叉查找。用中间的比,如果不一样就是0插入的位置在前面 一样就是在后面
第三:层次遍历二叉树,用队列做。
第四:从字符串中去掉n个数,使得剩下的数最大。贪心做法:从第一位开始去除,如果当前位置的值比后一位的值小就去除。
面试:稍微问了下项目问题,然后就是直接算法。第一道算法题1到n的数组,随机排列,用其中的一个数,取代另一个数,求取代的数的是多少。做法就是数组的值相加减去n(n+1)/2得到一个等式,在一个就是数组值的平方相加减去1/6n(n+1)(2n+1);