
leetcode
dididada10
这个作者很懒,什么都没留下…
展开
-
Leetcode 121. 买卖股票的最佳时机
买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖.原创 2021-03-11 22:52:01 · 117 阅读 · 0 评论 -
Leetcode860. 柠檬水找零
在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。示例 1:输入:[5,5,5,10,20]输出:true解释:前 3 位顾客那里,我们按顺序收取 3 张 5 美元的钞票。第 4 位原创 2021-03-11 22:51:36 · 273 阅读 · 0 评论 -
Leetcode122. 买卖股票的最佳时机 II
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天原创 2021-03-11 22:51:10 · 116 阅读 · 0 评论 -
Leetcode125. 验证回文串
验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。**说明:**本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: falseclass Solution(object): def isPalindrome(self, s): """ :type s: str .原创 2021-02-28 19:57:48 · 100 阅读 · 1 评论 -
Leetcode711. 宝石与石头
题目:宝石与石头给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S = "ZZ"输出: 0注意:S 和 J 最多含有50个字母。J 中的字符不重复。解题class原创 2021-02-28 19:40:12 · 163 阅读 · 0 评论 -
Leetcode200. 岛屿数量
200. 岛屿数量200. 岛屿数量给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:[['1','1','1','1','0'],['1','1','0','1','0'],['1','1','0','0','0'],['0','0','0','0','0']]输出: 1示例 2:输入:[['1'原创 2020-07-12 23:10:51 · 496 阅读 · 0 评论 -
Leetcode520. 检测大写字母
"""520. 检测大写字母给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如"USA"。单词中所有字母都不是大写,比如"leetcode"。如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。否则,我们定义这个单词没有正确使用大写字母。示例 1:输入: "USA"输出: True示例 2:输入: "FlaG"输出: False注意: 输入是由大写和小写拉丁字母组成的非空单词。"""#.原创 2020-05-25 07:22:15 · 414 阅读 · 0 评论 -
Leetcode面试题17. 打印从1到最大的n位数
"""面试题17. 打印从1到最大的n位数输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]说明:用返回一个整数列表来代替打印n 为正整数分析:方法一:用range()时间复杂度:O(N)空间复杂度:O(N)"""class Solution: def printNumbers(self, n): "..原创 2020-05-24 21:21:27 · 205 阅读 · 0 评论 -
Leetcode面试题04. 二维数组中的查找
面试题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,原创 2020-05-24 11:00:55 · 507 阅读 · 0 评论 -
Leetcode面试题58 - I. 翻转单词顺序
面试题58 - I. 翻转单词顺序难度简单输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。示例 1:输入: "the sky is blue"输出:"blue is sky the"示例 2:输入: " hello world! "输出:"world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,...原创 2020-05-24 00:01:28 · 210 阅读 · 0 评论 -
Leetcode面试题58 - II. 左旋转字符串
面试题58 - II. 左旋转字符串难度简单字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2输出:"cdefgab"示例 2:输入: s = "lrloseumgh", k = 6输出:"umghlrlose"限制:1 <= k < s.l..原创 2020-05-23 23:50:04 · 187 阅读 · 0 评论 -
Leetcode26. 删除排序数组中的重复项
# 20200520print("begin")"""26. 删除排序数组中的重复项难度简单给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [.原创 2020-05-21 06:50:23 · 384 阅读 · 0 评论 -
Leetcode35索引插入位置
# 20200520"""给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0""""""审题:排序数组,无重复元素算法一:特例处理:如果数组为空,返回0.原创 2020-05-20 06:50:53 · 142 阅读 · 0 评论 -
Leetcode27最长公共前缀
# encoding=utf-8"""编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。""""""算法:处理特例:列表为空首先按照字符串长度升序排列遍历第一个字符串的每个字符,如果后面的每个字符.原创 2020-05-20 06:21:34 · 136 阅读 · 0 评论 -
Leetcod面试题32 - III. 从上到下打印二叉树
from collections import deque"""面试题32 - III. 从上到下打印二叉树难度中等请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [20,9], [15,7].原创 2020-05-15 08:57:45 · 333 阅读 · 0 评论 -
Leetcode面试题32 - I. 从上到下打印二叉树
from collections import deque"""面试题32 - I. 从上到下打印二叉树难度中等12从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]提示:节点总数 <= 1000""""""算法流程:特例处理:当树的根节点为空,则直接返回空列表 [] ;.原创 2020-05-15 08:52:18 · 305 阅读 · 0 评论 -
Leetcode面试题32 - II. 从上到下打印二叉树 II
Leetcode面试题32 - II. 从上到下打印二叉树 II难度:简单19从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/ \15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]from queue import Queue# Definition for a binary tree node.class..原创 2020-05-14 07:13:35 · 163 阅读 · 0 评论