算法
LeetCode与LintCode专题
冬嫱姐姐
大四菜狗在线刷算法题,leetcode和lintcode,以及更新自己的面试经历,希望大家多多点赞支持
展开
-
Python刷LeetCode 66 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1: 输入:digits = [1,2,3] 输出:[1,2,4] 解释:输入数组表示数字 123。示例 2: 输入:digits = [4,3,2,1] 输出:[4,3,2,2] 解释:输入数组表示数字 4321。示例 3: 输入:digits = [0] 输出:[1]提示: 1 <原创 2022-02-19 21:02:08 · 162 阅读 · 0 评论 -
python刷算法 LeetCode219 存在重复元素II
给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contains-duplicate-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例 1: 输入:nums = [1,2,3,1],原创 2022-01-19 23:39:54 · 771 阅读 · 0 评论 -
力扣模拟面试 相同数目元音
给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半,前一半为 a ,后一半为 b 。两个字符串 相似 的前提是它们都含有相同数目的元音(‘a’,‘e’,‘i’,‘o’,‘u’,‘A’,‘E’,‘I’,‘O’,‘U’)。注意,s 可能同时含有大写和小写字母。如果 a 和 b 相似,返回 true ;否则,返回 false 。示例 1: 输入:s = "book" 输出:true 解释:a = "bo" 且 b = "ok" 。a 中有 1 个元音,b 也有 1 个元音。所以,a 和 b 相似原创 2022-01-21 10:44:24 · 319 阅读 · 0 评论 -
python刷算法 LeetCode 剑指offer 04 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target = 5,返回 t转载 2022-01-21 23:13:30 · 90 阅读 · 0 评论 -
python刷算法 LintCode 147 水仙花数
水仙花数的定义是,这个数等于他每一位数上的幂次之和 见维基百科的定义比如一个3位的十进制整数153就是一个水仙花数。因为 153 = 13 + 53 + 33。而一个4位的十进制数1634也是一个水仙花数,因为 1634 = 14 + 64 + 34 + 44。给出n,找到所有的n位十进制水仙花数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii著作权归领扣网络所有。商业转载请联系官方原创 2022-01-16 18:13:24 · 503 阅读 · 0 评论 -
LeetCode 997 有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序原创 2022-01-07 18:47:31 · 63 阅读 · 0 评论 -
LeetCode 35 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2示例 2:原创 2022-01-06 21:25:31 · 183 阅读 · 0 评论 -
LeetCode 278 第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。来源:力扣(LeetCode)链接:h原创 2022-01-06 21:12:39 · 45 阅读 · 0 评论 -
LeetCode 704 二分查找
给定一个 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来源:力扣(Leet原创 2022-01-06 21:00:58 · 165 阅读 · 0 评论 -
LeetCode 1 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。思路:1.暴力破解,双重for循环,可能会超内存2.查找么,类似于这类型的查找,用哈希表,时间复杂度为n,只需循环一遍,查找target-num是否在哈希表中即可来源:力扣(LeetCode)链接:https://leetcode-cn.com原创 2022-01-04 23:25:50 · 57 阅读 · 0 评论 -
python刷算法 LeetCode 367 有效的完全平方数
给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt 。示例 1: 输入:num = 16 输出:true示例 2: 输入:num = 14 输出:false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-perfect-square著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路原创 2022-01-22 21:06:15 · 360 阅读 · 0 评论 -
python刷算法 LeetCode 374 猜数字大小
猜数字游戏的规则如下:每轮游戏,我都会从 1 到 n 随机选择一个数字。 请你猜选出的是哪个数字。如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。你可以通过调用一个预先定义好的接口 int guess(int num) 来获取猜测结果,返回值一共有 3 种可能的情况(-1,1 或 0):-1:我选出的数字比你猜的数字小 pick < num1:我选出的数字比你猜的数字大 pick > num0:我选出的数字和你猜的数字一样。恭喜!你猜对了!pick == num原创 2022-01-23 09:15:55 · 126 阅读 · 0 评论