Leetcode刷题
Howar Yick
这个作者很懒,什么都没留下…
展开
-
Leetcode刷题 (Python)242 有效的字母异位词
题目描述给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来...原创 2019-03-29 20:47:36 · 188 阅读 · 0 评论 -
Leetcode刷题 (Python)66 加一
题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321...原创 2019-04-13 21:42:55 · 196 阅读 · 0 评论 -
Leetcode刷题 (Python)747 至少是其他数字两倍的最大数
题目描述:在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1:输入: nums = [3, 6, 1, 0]输出: 1解释: 6是最大的整数, 对于数组中的其他整数,6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.示例 2:输入: nums = [...原创 2019-04-16 17:02:18 · 179 阅读 · 0 评论 -
Leetcode刷题 (Python)217 存在重复元素
题目描述:给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true解题思路:将数组转换为集合...原创 2019-04-03 20:41:18 · 239 阅读 · 0 评论 -
Leetcode刷题 (Python)605 种花问题
题目描述:假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n朵花?能则返回True,不能则返回False。示例 1:输入: flowerbed = [1,0,0,0,1], n = ...原创 2019-04-15 17:25:28 · 396 阅读 · 0 评论 -
Leetcode刷题 (Python)628 三个数的最大乘积
题目描述:给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。解题思路:先把数组排序,如果数组里全是正数...原创 2019-04-08 21:33:58 · 423 阅读 · 0 评论 -
Leetcode刷题 (Python)905 按奇偶排序数组
题目描述:给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。 你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i] &l...原创 2019-04-02 20:52:27 · 238 阅读 · 0 评论 -
Leetcode刷题 (Python)504 七进制数
题目描述:给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: “202”示例 2:输入: -7输出: “-10”注意: 输入范围是 [-1e7, 1e7] 。解题思路:此题可用递归来解决,递归三定律为:递归算法必须具有基本情况。递归算法必须改变其状态并向基本情况靠近。递归算法必须以递归方式调用自身。那么:1、基本情况为小于7...原创 2019-04-11 19:10:49 · 538 阅读 · 0 评论 -
Leetcode刷题 (Python)389 找不同
题目描述:给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = “abcd”t = “abcde”输出:e解释:‘e’ 是那个被添加的字母。解题思路:将 t 转化为 Python 的列表new_t,然后遍历字符串 s 的元素,将它们从列表 new_t 中刪除...原创 2019-03-28 12:01:45 · 267 阅读 · 0 评论 -
Leetcode刷题(Python)575 分糖果
题目描述:给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类...原创 2019-03-27 21:12:09 · 350 阅读 · 0 评论 -
Leetcode刷题 (Python)268 缺失数字
题目描述:给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?解题思路:设定一个0 到len(nums)+1的集合,求出此集合与set(n...原创 2019-04-05 21:41:05 · 150 阅读 · 0 评论 -
Leetcode刷题 (Python)509 斐波那契数
题目描述:斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定 N,计算 F(N)。示例 1:输入:2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 =...原创 2019-03-31 20:43:23 · 146 阅读 · 0 评论 -
Leetcode刷题 (Python)414 第三大的数
题目描述:给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大...原创 2019-03-30 22:37:22 · 337 阅读 · 0 评论 -
Leetcode刷题 (Python)877 石子游戏
题目描述:亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。 亚历克斯和李轮流进行,亚历克斯先开始。每回合,玩家从行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中石子最多的玩家获胜。假设亚历克斯和李都发挥出最佳水平,当亚历克斯赢得比赛时返回 tru...原创 2019-04-18 10:54:40 · 406 阅读 · 0 评论