算法
nobody_lo
这个作者很懒,什么都没留下…
展开
-
快速排序算法及详细理解
/**算法理解:1 i向右扫描比base = sortSTr[left]还小的数,直到遇到比base大的数停下来2 j向左扫描比base大的数,直到遇到比base小的数停下来3 可见i扫描过得的数一定比base小,j扫描过得数一定比base大4 1,2都成立时交换i,j位置,是为了保证3的成立5 当i,j相等时,将sortSTr[i]和base交换,使得base与sortSTr[i]交换后,base左边的数一定都比base小,base右边的数一定比base大,此时完成了快排的第一轮6 第二原创 2021-03-07 23:26:19 · 196 阅读 · 0 评论 -
招行笔试算法题
/** * 招行笔试算法题:从a数组头或尾取出一个数 * 第i次取的值为ax,那么第i次的价值为b[i - 1]*ax, * 价值总和为前i-1次价值之和加上第i次的价值 * 知识点:双指针加动态规划 * @param nums int整型一维数组 * @param values int整型一维数组 * @return int整型 */ public int getMaxValue (int[] nums, int[原创 2021-03-07 16:07:33 · 2162 阅读 · 12 评论 -
快手算法面试题:求从两个有序数组选出两个数,能得出的最小差值,取绝对值
/** * 快手算法面试题: * 求从两个有序选出两个数,能得出的最小差值,取绝对值 * 知识点:变种二分法,寻找边界 */public class Main { public static void main(String[] args) { int[] arr1 = {1,2,676}; int[] arr2 = {3,5,7}; System.out.println(new Main().fun(arr1, arr2)); }原创 2021-03-02 23:57:03 · 594 阅读 · 0 评论