
力扣算法练习
文章平均质量分 68
力扣网的算法练习
WE-ubytt
这个作者很懒,什么都没留下…
展开
-
C语言算法题:二分查找
题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:1.你原创 2021-12-16 15:14:08 · 661 阅读 · 0 评论 -
C语言算法题:第一个错误的版本
题目:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例 1:输入:n =原创 2021-12-16 15:39:08 · 157 阅读 · 0 评论 -
C语言算法题:反转字符串
文章目录一、题目二、方法1:双指针1、思路2、代码3、复杂度分析一、题目编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a原创 2021-12-26 00:02:50 · 694 阅读 · 0 评论 -
C语言算法题:搜索插入位置
题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4示例 4:输入: nums = [1,3原创 2021-12-16 15:56:29 · 185 阅读 · 0 评论 -
C语言算法题:两数之和 II - 输入有序数组
文章目录一、题目二、方法1:暴力枚举法1、思路2、代码3、复杂度分析三、方法2:二分查找1、思路2、代码3、复杂度分析四、方法3:双指针1、思路2、代码3、复杂度分析一、题目给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <=answer[0] < answer[1] <=原创 2021-12-24 00:36:35 · 228 阅读 · 0 评论 -
C语言算法题:有序数组的平方
文章目录一、题目二、方法1:直接排序1、思路2、代码3、复杂度分析三、方法2:双指针1、思路2、代码3、复杂度分析四、方法3:1、思路2、代码3、复杂度分析一、题目给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:原创 2021-12-22 14:30:28 · 967 阅读 · 6 评论 -
C语言算法题:移动零
文章目录一、题目二、方法1:双指针1、思路2、代码3、复杂度分析一、题目给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes著作权归领扣网络所有。商业转载请联系官方授权,非商原创 2021-12-23 22:11:56 · 831 阅读 · 0 评论 -
C语言算法题:轮转数组
文章目录一、题目二、方法1:使用额外的数组1、思路2、代码3、复杂度分析三、方法2:环状替换1、思路2、代码3、复杂度分析四、方法3:数组翻转1、思路2、代码3、复杂度分析一、题目给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3原创 2021-12-23 19:37:48 · 706 阅读 · 0 评论