摘要:
二分查找法 class Solution { public int[] twoSum(int[] numbers, int target) { int[] res = new int[2]; /** * 对于每一个元素,在后面的子数组中寻找是否有匹配的元素 * 因为数组是有序的,使用二分查找法寻找更 阅读全文
posted @ 2021-11-23 20:37
振袖秋枫问红叶
阅读(39)
评论(0)
推荐(0)
摘要:
双指针法(归并排序法) import java.util.Arrays; class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { /** * 双指针遍历 * 先将两个子数组简单合并,然后分别从子数组第一 阅读全文
posted @ 2021-11-23 17:20
振袖秋枫问红叶
阅读(37)
评论(0)
推荐(0)
摘要:
双指针法 class Solution { public int removeDuplicates(int[] nums) { /** * 双指针遍历数组 * 定义一个flag来指示重复元素出现的次数 */ int n = 0; int flag = 0; for (int i = 1; i < n 阅读全文
posted @ 2021-11-23 15:59
振袖秋枫问红叶
阅读(31)
评论(0)
推荐(0)
摘要:
双指针法 class Solution { public int removeElement(int[] nums, int val) { /** * 使用双指针从两端遍历,start指向当前遍历元素,end指向最后一个待换元素 * 当遇到目标元素时,和最后一个元素互换 * 头指针等于尾指针时结束循 阅读全文
posted @ 2021-11-23 15:58
振袖秋枫问红叶
阅读(33)
评论(0)
推荐(0)
摘要:
双指针法 class Solution { public int removeDuplicates(int[] nums) { /** * 同《80. 删除有序数组中的重复项II》 */ if (nums.length == 1){ return 1; } int length = 1; for ( 阅读全文
posted @ 2021-11-23 15:58
振袖秋枫问红叶
阅读(29)
评论(0)
推荐(0)
摘要:
暴力解法 class Solution { public void moveZeroes(int[] nums) { /** * 使用额外的数组存放非零元素 */ int[] temp = new int[nums.length]; int index = 0; for (int i = 0; i 阅读全文
posted @ 2021-11-23 15:57
振袖秋枫问红叶
阅读(31)
评论(0)
推荐(0)
摘要:
算法面试的误区 算法面试不代表“正确”回答每一个算法问题,合理的思考方向更重要 把这个过程看作是和面试官一起探讨一个问题的解决方案,对于问题的细节和应用环境,可以和面试官沟通 根据具体情况选择更优的算法 “正确”本身是一个相对的概念,比如对一组数据进行排序,不能忽略应用环境,一味的选择速度快的快速排 阅读全文
posted @ 2021-11-23 15:56
振袖秋枫问红叶
阅读(72)
评论(0)
推荐(0)