2022年1月5日

剑指 Offer 30. 包含min函数的栈

摘要: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0) 阅读全文

posted @ 2022-01-05 22:38 4小旧 阅读(28) 评论(0) 推荐(0)

剑指 Offer 09. 用两个栈实现队列

摘要: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入:["CQueue","appendTail","delet 阅读全文

posted @ 2022-01-05 20:49 4小旧 阅读(49) 评论(0) 推荐(0)

35. 搜索插入位置

摘要: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2 示例 2: 输入: nums = [1 阅读全文

posted @ 2022-01-05 17:27 4小旧 阅读(28) 评论(0) 推荐(0)

278. 第一个错误的版本

摘要: 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bool i 阅读全文

posted @ 2022-01-05 16:57 4小旧 阅读(65) 评论(0) 推荐(0)

704. 二分查找

摘要: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 num 阅读全文

posted @ 2022-01-05 15:49 4小旧 阅读(16) 评论(0) 推荐(0)

88. 合并两个有序数组

摘要: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 阅读全文

posted @ 2022-01-05 14:14 4小旧 阅读(52) 评论(0) 推荐(0)

1. 两数之和

摘要: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,1 阅读全文

posted @ 2022-01-05 09:35 4小旧 阅读(35) 评论(0) 推荐(0)

53. 最大子数组和

摘要: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例 2: 阅读全文

posted @ 2022-01-05 00:33 4小旧 阅读(46) 评论(0) 推荐(0)

导航