数组
FeBaby
铁宝斋的博客
展开
-
【每日一题】13. 罗马数字转整数
算法原创 2024-03-21 17:38:19 · 235 阅读 · 0 评论 -
【每日一题】122. 买卖股票的最佳时机 II
贪心算法求解原创 2024-03-05 10:03:49 · 375 阅读 · 0 评论 -
【每日一题】121. 买卖股票的最佳时机
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;解释:在这种情况下, 没有交易完成, 所以最大利润为 0。输入:prices = [7,6,4,3,1]输入:[7,1,5,3,6,4]原创 2024-03-04 16:56:28 · 368 阅读 · 0 评论 -
【每日一题】189. 轮转数组
输入: nums = [1,2,3,4,5,6,7], k = 3。输入:nums = [-1,-100,3,99], k = 2。向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]输出: [5,6,7,1,2,3,4]输出:[3,99,-1,-100]原创 2024-03-02 22:13:36 · 347 阅读 · 0 评论 -
【每日一题】leetCode 169. 多数元素
使用摩尔投票法进行解题,核心理念为 票数正负抵消。此方法时间和空间复杂度分别为 O(N)O(N)O(N) 和 O(1)O(1)O(1) ,为本题的最佳解法。给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。关于元素数量的问题我们很容易想到使用hashmap的特性进行求解,key为nums[i],value为出现的次数。如果一个数出现次数大于总数的1/2那么最中间的数一定复合条件。你可以假设数组是非空的,并且给定的数组总是存在多数元素。原创 2024-03-01 10:47:02 · 393 阅读 · 3 评论 -
【每日一题】leetCode
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。快指针从数组第三个数开始,因为题目中要求最多有两个重复项,所以判断第三个数和第一个数是否相同。这道题显而易见是使用双指针进行解题,具体解法如下。快指针:无论是否相同都移动到下一个数用于判断。如果不相同则写入,同时慢指针走动。原创 2024-02-29 10:23:56 · 351 阅读 · 1 评论 -
【每日一题】leetCode
使用双指针进行去重原创 2024-02-28 09:50:26 · 352 阅读 · 0 评论 -
每日一题-数组
移除元素算法原创 2024-02-27 10:37:00 · 347 阅读 · 0 评论 -
leetCode每日一题 88. 合并两个有序数组
输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。输入:nums1 = [0], m = 0, nums2 = [1], n = 1。输入:nums1 = [1], m = 1, nums2 = [], n = 0。解释:需要合并 [1,2,3] 和 [2,5,6]。解释:需要合并的数组是 [] 和 [1]。输出:[1,2,2,3,5,6]原创 2024-02-26 17:50:52 · 573 阅读 · 0 评论