![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode算法面试题汇总
大风车呀五六六的转
这个作者很懒,什么都没留下…
展开
-
leetcode算法面试题汇总 day2-合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。 方法:从nums1的尾部开始添加元素 class S原创 2021-08-28 15:22:58 · 202 阅读 · 0 评论 -
leetcode算法面试题汇总 day2-搜索二维矩阵 II
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 方法一:直接遍历,效率低 方法二:从右上角开始,遇到的值比目标值大则向下搜索,遇到比目标值小的值则向左搜索。 代码如下 class Solution { public boolean searchMatrix(int[][] matrix, int target) { int row = 0; i原创 2021-08-28 15:12:06 · 181 阅读 · 0 评论 -
leetcode算法面试题汇总 day1-多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 方法一:排序 排序之后返回中间元素 class Solution { public int majorityElement(int[] nums) { Arrays.sort(nums); return nums[nums.length/2]; } } 方法二:HashMap class So原创 2021-08-26 16:29:07 · 211 阅读 · 0 评论 -
leetcode算法面试题汇总 day1-只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 方法一:排序 首先想到的是排序,排序之后步长为2遍历,只要与个元素作比较即可,若到达第n-2个元素还未找到,则返回最后一个元素。代码如下: class Solution { public int singleNumber(int[] nums) { Arrays.sort(nums); int i = 0; for(i = 0;i < nums原创 2021-08-26 16:15:37 · 65 阅读 · 0 评论