leetcode
小杨算法屋
这个作者很懒,什么都没留下…
展开
-
leetcode-存在重复元素
存在重复元素给定一个整数数组,判断是否存在重复元素。原创 2022-09-27 21:27:55 · 880 阅读 · 1 评论 -
leetcode-189. 轮转数组
给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。原创 2022-09-26 20:39:45 · 485 阅读 · 0 评论 -
leetcode122-买卖股票的最佳时机 II
给你一个整数数组 prices ,其中prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。返回 你能获得的 最大 利润给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。原创 2022-09-25 20:56:24 · 286 阅读 · 0 评论 -
斐波那契数-leetcode509-动态规划
1、题目斐波那契数,通常用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 = 1示例2:输入:3输出:2解释:F(3) = F(2) + F(1) = 1 +...原创 2021-09-12 22:40:29 · 137 阅读 · 0 评论 -
两数之和-leetcode第一题
题目:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定nums = [2, 7, 11, 15], target = 9因为nums[0] + nums[1] = 2 + 7 = 9所以返回[0, 1]题解:方法一:暴力法class Solution: def twoSum(self, nums: Li...原创 2021-09-12 13:01:31 · 256 阅读 · 0 评论 -
验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。...原创 2021-05-10 14:43:05 · 126 阅读 · 0 评论 -
leetcode高频题目汇总
最近将本人刷的高频题进行了总结,汇总了word,主要目录包括以下内容:1、数组 1.1 子集 1.2 两数之和 1.3 和为K的子数组 1.3-1 和可被 K 整除的子数组 1.4 删除排序数组中的重复项 1.5 反转字符串 1.6 反转字符串中的单词 III 1.7 合并两个有序数组 1.8 最接近的三数之和 1.9 最长公共前缀 1.10 数组中重复的数字 1.10-1 287. 寻找重复数-快慢指针 1.11 和为s的两个数字 1.12 乘积原创 2021-04-30 15:51:39 · 666 阅读 · 2 评论 -
LeetCode题解更新到微信公众号了
本人一些算法发布的文章更新到下面的微信公众号上面了欢迎感兴趣的朋友关注!一些刷题,一起交流,目前是主要发表leetcode刷题的题解原创 2021-03-01 10:52:29 · 288 阅读 · 0 评论 -
剑指 Offer 40. 最小的k个数
1、题目剑指 Offer 40. 最小的k个数输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]2、代码class Solution: def getLeastNumbers(self, arr: List[int],.原创 2020-08-14 22:15:44 · 196 阅读 · 0 评论 -
剑指 Offer 22. 链表中倒数第k个节点
1、题目剑指 Offer 22. 链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.2、代码# Definition for singly-linked list.#原创 2020-08-14 22:13:46 · 168 阅读 · 0 评论 -
剑指 Offer 17. 打印从1到最大的n位数
1、题目剑指 Offer 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 为正整数2、代码class Solution: def printNumbers(self, n: int) -> List[int]: res = []原创 2020-08-14 22:10:00 · 159 阅读 · 0 评论 -
面试题5-344. 反转字符串
1、题目344. 反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:["H","a","n","n","a","h"]输出:["h","a","原创 2020-07-18 10:27:15 · 271 阅读 · 2 评论 -
面试题4-690. 员工的重要性
1、题目690. 员工的重要性给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id。比如,员工1是员工2的领导,员工2是员工3的领导。他们相应的重要度为15, 10, 5。那么员工1的数据结构是[1, 15, [2]],员工2的数据结构是[2, 10, [3]],员工3的数据结构是[3, 5, []]。注意虽然员工3也是员工1的一个下属,但是由于并不是直系下属,因此没有体现在员工1的数据结构中。现在输入一个公司的所有员工信息,以及单个员工id,返回这个员工和他所有原创 2020-07-18 10:21:08 · 261 阅读 · 0 评论 -
面试题3-35. 搜索插入位置
1、题目35. 搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 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输出: 02、代码class Solution: def searchIns原创 2020-07-17 08:48:22 · 191 阅读 · 0 评论 -
面试题2-326. 3的幂
1、题目给定一个整数,写一个函数来判断它是否是 3 的幂次方。示例 1:输入: 27输出: true示例 2:输入: 0输出: false示例 3:输入: 9输出: true示例 4:输入: 45输出: false进阶:你能不使用循环或者递归来完成本题吗? 可以考虑对数公时2、代码class Solution: def isPowerOfThree(self, n: int) -> bool: while True: .原创 2020-07-16 17:11:43 · 2388 阅读 · 0 评论 -
面试题1-392. 判断子序列
1、题目给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例 1:s = "abc", t = "ahbgdc"返回 true.示例 2:s = "axc", t = "原创 2020-07-16 16:58:07 · 529 阅读 · 0 评论