- 博客(31)
- 收藏
- 关注
原创 leetcode刷题(65)——300. 最长上升子序列
定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗?注意这里和上一题不一样的...
2020-01-30 23:08:26 214
原创 leetcode刷题(64)——674. 最长连续递增序列
给定一个未经排序的整数数组,找到最长且连续的的递增序列。示例 1:输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。示例 2:输入: [2,2,2,2,2]输出: 1解释: 最长连续递增序列是 [2], 长度为1。注意:数组长度不会超过100...
2020-01-30 22:28:37 228
原创 leetcode刷题(63)——714. 买卖股票的最佳时机含手续费
给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每次交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。示例 1:输入: prices = [1, 3, 2, 8, 4, 9], fee = 2输出: 8解释: 能够达到的最大利...
2020-01-30 21:24:44 251
原创 leetcode刷题(62)——309. 最佳买卖股票时机含冷冻期
给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3解释: 对应的交易状态为: [买入, 卖出, 冷冻...
2020-01-30 21:18:41 267
原创 leetcode刷题(61)——188. 买卖股票的最佳时机 IV
给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [2,4,1], k = 2输出: 2解释: 在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 ...
2020-01-30 20:41:58 261
原创 leetcode刷题(60)——152. 乘积最大子序列
给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。需要有一个值去存储最大值res,然后进行遍历,将每个子序列的最大值和res比较,注意这里有负数...
2020-01-30 16:48:35 268
原创 leetcode刷题(59)——120. 三角形最小路径和
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。方法1:动态...
2020-01-30 16:30:53 397
原创 leetcode刷题(58)——70. 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶...
2020-01-30 13:23:55 208
原创 leetcode刷题(57)——338. 比特位计数
给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂度为O(n)...
2020-01-29 23:46:47 244
原创 leetcode刷题(56)——231. 2的幂
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false题解:利用x*(x-1)是打掉最后一位2进制的1,所有的2的次方,转化为二进制,只可能在一位上有1特点,还需要注意,这里需要将int转为long,因为这里int是...
2020-01-29 23:20:42 141
原创 leetcode刷题(55)——208. 实现 Trie (前缀树)
实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。示例:Trie trie = new Trie();trie.insert("apple");trie.search("apple"); // 返回 truetrie.search("app"); // 返回 falsetrie.startsWith("app");...
2020-01-29 21:06:43 275
原创 leetcode刷题(54)——69. x 的平方根
实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。class Solution { public i...
2020-01-29 19:13:01 368
原创 leetcode刷题(53)——52. N皇后 II
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数 n,返回 n 皇后不同的解决方案的数量。示例:输入: 4输出: 2解释: 4 皇后问题存在如下两个不同的解法。[ [".Q..", // 解法 1 "...Q", "Q...", "..Q."], ["..Q.", // 解法 2 "Q...", ...
2020-01-29 15:38:22 1952 2
原创 leetcode刷题(52)——51. N皇后
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [ [".Q..", // 解法 1 "...Q", "Q...", "..Q."],...
2020-01-29 15:28:56 353
原创 leetcode刷题(51)——22. 括号生成
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]思路:只要有左括号就可以添加class Solution { List<String> list = new Arra...
2020-01-28 20:07:15 211
原创 leetcode刷题(50)——111. 二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.方法1:递归对比求最大深度,只有一个地方需要注意,那就是如果左右子树有一边为null而另一边不...
2020-01-27 21:51:25 206
原创 leetcode刷题(49)——102. 二叉树的层次遍历
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]方法1:第一时间想到就是广度优先算法,我们知道队列是配合进行广度优先的,先看代码/...
2020-01-27 18:06:29 234
原创 leetcode刷题(48)——169. 多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2解法1:因为这个数的数量大于n/2,所以排序之后的中位数一定是这个数class Solution { pu...
2020-01-26 22:48:32 307
原创 leetcode刷题(47)——50. Pow(x, n)
实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有...
2020-01-26 19:54:51 244
原创 leetcode刷题(46)——236. 二叉树的最近公共祖先
这道题比235略难一些给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: roo...
2020-01-26 16:07:30 277
原创 leetcode刷题(45)——35. 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2...
2020-01-26 15:18:18 173
原创 leetcode刷题(44)——242. 有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?解法1...
2020-01-26 11:41:13 172
原创 leetcode刷题(43)——239. 滑动窗口最大值
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值-----------...
2020-01-25 22:04:45 192
原创 leetcode刷题(42)——703. 数据流中的第K大元素
设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中的初始元素。每次调用 KthLargest.add,返回当前数据流中第K大的元素。示例:int k = 3;int[] arr = [4,5,8,2];KthLargest kthLarges...
2020-01-25 17:37:15 196
原创 leetcode刷题(41)——232. 用栈实现队列
使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); // 返回 1queue.pop();...
2020-01-25 13:47:24 274
原创 leetcode刷题(40)——83. 删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3平时我们删除一个链表中的某个元素,一般都是以下的写法: temp.next = temp.next.next;这样temp.next就被删除了此题...
2020-01-25 11:38:44 163
原创 leetcode刷题(39)——反转链表 II
这道题可以说是非常难的,2中解法,迭代和递归,递归更加难想出来解法1:迭代链接反转算法在看具体算法之前,有必要先弄清楚链接反转的原理以及需要哪些指针。举例而言,有一个三个不同结点组成的链表 A → B → C,需要反转结点中的链接成为 A ← B ← C。假设我们有两个指针,一个指向结点 A,一个指向结点 B。 分别记为 prev 和 cur。则可以用这两个指针简单地实现 A 和 B 之间...
2020-01-24 21:02:38 214
原创 leetcode刷题(38)——142. 环形链表 II
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:...
2020-01-24 17:35:21 160
原创 leetcode刷题(37)——141. 环形链表
给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解...
2020-01-24 17:05:08 169
原创 leetcode刷题(36)——24.两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3题解:这个题目有2种解法,一个是比较容易想到的循环求解,另外一个是比较难想到的递归求解解法1:循环求解关键点在于设置一个pre节点指向链表的头节点,很多链表题目的...
2020-01-24 14:48:12 171
原创 Linux性能优化实战(1)-到底应该怎么理解“平均负载”
执行 top 或者 uptime 命令,来了解系统的负载情况。比如像下面这样,我在命令行里输入了 uptime 命令,系统也随即给出 了结果。`$uptime 02:34:03 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.88`下面几列分别是当前时间、系统运行时间以及正在登录用户数。`02:34:03 ...
2020-01-12 16:28:26 427
基于SpringBoot + MySQL + Redis + RabbitMQ + Guava开发的高并发商品限时秒杀系统
2024-05-27
大麦抢票辅助(只抢待开抢中的)
2024-04-27
大麦网演唱会抢票软件,一个基于 tauri + rust + vue 调用接口的抢票软件
2024-04-21
某宝、某猫抢购,抢电视、抢茅台
2024-04-21
i茅台app自动预约,每日自动预约,支持docker一键部署
2024-04-21
python 12306 购票助手
2024-04-21
SpringBoot网上商城是一个基于Spring Boot的综合性B2C仿天猫电商平台
2024-04-20
JAVA+SpringBoot网上商城
2024-04-20
Java+SpringBoot网上商城
2024-04-20
基于Java+Springboot电影购票系统
2024-04-20
基于Java+Springboot的景区旅游信息管理系统
2024-04-20
基于springboot 网上花店商城 springboot+MybatisPlus+mysql
2024-04-20
java基于springboot的宠物商城 Spring Boot+Mybatis+mysql+Thymeleaf+Shiro
2024-04-20
基于Java+Springboot+vue的宠物交易/领养系统
2024-04-20
基于springboot房屋租赁系统 springboot+mybatis+mysql+shiro
2024-04-20
基于JAVA+Springboot的OA人事管理系统
2024-04-20
基于Vue和SpringBoot的超市账单管理
2024-04-20
基于Java+Springboot的酒店预订管理系统
2024-04-20
机器学习面试复习资源集合
2024-04-20
Tensorflow实战学习笔记、代码、机器学习进阶系列
2024-04-20
算法工程师-机器学习面试题总结
2024-04-20
使用机器学习算法完成对12306验证码的自动识别
2024-04-20
PAT-GPLT(中国高校计算机大赛团体程序设计天梯赛)题解
2024-04-20
2021年华为杯第十八届中国研究生数学建模竞赛D题解决方案(国二)
2024-04-20
2020中国华录杯·数据湖算法大赛-定向算法赛(吸烟打电话检测)决赛第二名项目代码
2024-04-19
12306抢票脚本源码
2024-04-17
大麦网自动购票脚本, 支持docker一键部署
2024-04-17
数据库设计课程设计-高校选课管理系统
2024-04-16
大麦抢票脚本 V1.0 已有大佬验证可以成功!
2024-04-13
东方财富网股吧爬虫,爬取帖子及其评论的相关信息,并储存到数据库中(附详细操作说明)
2024-04-13
某乎爬虫,用于爬取某乎页面 话题 问题 回答 评论 的爬虫 支持 asyncio 异步高并发 支持多用户登陆
2024-04-13
掘金小册爬虫脚本 将小册保存为 markdown,pdf,html 格式
2024-04-13
轻量型A股每日数据爬虫项目
2024-04-13
新浪某博热榜爬虫,利用 Github Action 的调度脚本
2024-04-13
矩阵快速幂求解斐波那契
2024-04-13
走迷宫 广度优先搜索与优先队列
2024-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人