文章 2024-01-16 来自:开发者社区

26. 删除有序数组中的重复项 Leetcode经典面试题

这个也是使用双指针的方式,但是基于数组。使用两个指针 n 和 i,其中 n 用于标记新数组的长度,初始值为0,而 i 用于遍历原始数组 nums。从头开始遍历nums数组,对于每个元素nums[i],进行以下检查:如果 nums[n] 不等于 nums[i],表示找到了一个新的不重复的元素,将其复制到新数组的下一个位置(nums[++n] = nums[i])。如果 nums[n] 等于 num....

文章 2024-01-12 来自:开发者社区

leetcode-540:有序数组中的单一元素

题目题目链接给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数。你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。示例 1:输入: nums = [1,1,2,3,3,4,4,8,8] 输出: 2示例 2:输入: nums = [3,3,7,7,10,11,11] 输出: 10解题方法一:位运算时间复.....

leetcode-540:有序数组中的单一元素
文章 2024-01-11 来自:开发者社区

leetcode-108:将有序数组转换为二叉搜索树

题目题目链接给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例 1:输入:nums = [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:示例 2:输入....

leetcode-108:将有序数组转换为二叉搜索树
文章 2024-01-11 来自:开发者社区

leetcode-977:有序数组的平方

题目题目链接给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11] 输出:[4,9,....

leetcode-977:有序数组的平方
文章 2024-01-11 来自:开发者社区

leetcode-167:两数之和 II - 输入有序数组

题目题目链接给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入只对应唯一的答....

leetcode-167:两数之和 II - 输入有序数组
文章 2024-01-11 来自:开发者社区

leetcode-88:合并两个有序数组

题目题目链接给你两个有序整数数组nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。示例 1:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 =....

leetcode-88:合并两个有序数组
文章 2023-12-22 来自:开发者社区

移除元素、合并两个有序数组(leetcode)

一、移除元素力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台思路一:比较好想到,但是时间复杂度为O(n^2)。思路:把每一个数组中的元素与val比较,比较后若元素等于val,则创建一个新的数组,新的数组中删除了这个元素,其他所有元素都往前移一位,此时生成的数组大小为O(n-1)。所以最坏情况是每个元素都是val,则时间复杂度为:(n-1)+(n-2)+(n-3)+……+1 = (n-....

移除元素、合并两个有序数组(leetcode)
文章 2023-12-21 来自:开发者社区

[二分查找]LeetCode2040:两个有序数组的第 K 小乘积

本文涉及的基础知识点二分查找算法合集题目给你两个 从小到大排好序 且下标从 0 开始的整数数组 nums1 和 nums2 以及一个整数 k ,请你返回第 k (从 1 开始编号)小的 nums1[i] * nums2[j] 的乘积,其中 0 <= i < nums1.length 且 0 <= j < nums2.length 。示例 1:输入:nums1 = [2,5....

[二分查找]LeetCode2040:两个有序数组的第 K 小乘积
文章 2023-12-18 来自:开发者社区

LeetCode寻找两个有序数组的中位数打败100%人

前言在本文中,我们将深入研究一种复杂的算法问题:查找两个有序数组的中位数。这是一个经典的计算问题,通常出现在编程面试和算法挑战中。我们将首先探讨一种常见的暴力解决方法,然后逐步引入更高效的解决方案,最终理解并实现官方的二分法算法。通过本文,您将获得对这一重要算法问题的深刻理解。个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力寻找两个有序数组的中位数自己思路就是暴力破解或....

LeetCode寻找两个有序数组的中位数打败100%人
文章 2023-12-14 来自:开发者社区

LeetCode 26. 删除有序数组中的重复项

题目给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k 个位置后返回 k 。不要....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注