LeetCode刷题及解析
朱振玉小迷弟
学习更多技能,完成更多想法
展开
-
如何用Java实现去除重复数据(LeetCode数据结构)
用Java实现去除重复数据(LeetCode数据结构)原创 2022-09-04 14:28:46 · 1281 阅读 · 0 评论 -
剑指Offer 11.旋转数组的最小数字(二分法实现)
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为1。实现:class Solution { public int minArray(int[] numbers) { int left = 0; //数组最左边的位置(即下标原创 2021-12-25 11:15:42 · 164 阅读 · 0 评论 -
LeetCode简单算法题之二分法解析(2)
题目:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。实现:/* The isBad原创 2021-12-23 14:42:24 · 60 阅读 · 0 评论 -
LeetCode简单算法题之二分法解析(1)
题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。实现:class Solution { //首先肯定是在一个类里面去做我们要做的事情 public int search(int[] nums, int target) { //定义一个方法,参数是数组nums和整数类型目标值target int low = 0,high = nums.length原创 2021-12-23 14:00:56 · 3277 阅读 · 0 评论