12 2021 档案

摘要:124. 二叉树中的最大路径和 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root ,返回其 最大路径和 。 阅读全文
posted @ 2021-12-31 23:20 JunanP 阅读(18) 评论(0) 推荐(0) 编辑
摘要:最近想复习一下数学知识,才看到偏导数就感到“温故而知新“了。以前学高数的时候经常求偏导数,到最后就光记住怎么算了,这里带着实际意义总结一下。 偏导数的的定义就不写了,看了一下百度百科的定义是这样写的: 感觉实在是没有什么意义…… 从简单(普通导数)开始。我们都知道,对于一元函数而言,比如y=ax+b 阅读全文
posted @ 2021-12-28 22:53 JunanP 阅读(53) 评论(0) 推荐(0) 编辑
摘要:123. 买卖股票的最佳时机 III 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入:prices = [3,3,5,0 阅读全文
posted @ 2021-12-26 12:14 JunanP 阅读(3) 评论(0) 推荐(0) 编辑
摘要:122. 买卖股票的最佳时机 II 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 阅读全文
posted @ 2021-12-26 10:49 JunanP 阅读(3) 评论(0) 推荐(0) 编辑
摘要:(标题本来是 “最佳”,违反了标题规定哈哈哈,被当成标题党了。) 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你 阅读全文
posted @ 2021-12-24 19:44 JunanP 阅读(3) 评论(0) 推荐(0) 编辑
摘要:114. 二叉树展开为链表 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 1: 输入:root = [1, 阅读全文
posted @ 2021-12-23 19:52 JunanP 阅读(11) 评论(0) 推荐(0) 编辑
摘要:106. 从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树: 3 / \ 9 20 / 阅读全文
posted @ 2021-12-23 19:29 JunanP 阅读(3) 评论(0) 推荐(0) 编辑
摘要:105. 从前序与中序遍历序列构造二叉树 给定一棵树的前序遍历 preorder 与中序遍历 inorder。请构造二叉树并返回其根节点。 示例 1: Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7] Output: [3,9,20,n 阅读全文
posted @ 2021-12-23 19:16 JunanP 阅读(7) 评论(0) 推荐(0) 编辑
摘要:102. 二叉树的层序遍历 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层序遍历结果: [ [3], [9,20], [15,7] ] 思路 阅读全文
posted @ 2021-12-22 19:16 JunanP 阅读(5) 评论(0) 推荐(0) 编辑
摘要:101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 进阶: 你可 阅读全文
posted @ 2021-12-22 19:12 JunanP 阅读(4) 评论(0) 推荐(0) 编辑
摘要:98. 验证二叉搜索树 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入:root = [2,1,3] 输出 阅读全文
posted @ 2021-12-21 19:32 JunanP 阅读(9) 评论(0) 推荐(0) 编辑
摘要:96. 不同的二叉搜索树 难度中等1446 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n = 3 输出:5 示例 2: 输入:n = 1 输出:1 思路: 这道题初次看起来确实无从下手。虽然 阅读全文
posted @ 2021-12-21 19:24 JunanP 阅读(4) 评论(0) 推荐(0) 编辑
摘要:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 思路: 涉及到二叉树问题,基本上都 阅读全文
posted @ 2021-12-20 19:49 JunanP 阅读(13) 评论(0) 推荐(0) 编辑
摘要:94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 示例 4: 输入:root = 阅读全文
posted @ 2021-12-19 21:30 JunanP 阅读(9) 评论(0) 推荐(0) 编辑
摘要:85. 最大矩形 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1: 输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1&quo 阅读全文
posted @ 2021-12-19 21:27 JunanP 阅读(11) 评论(0) 推荐(0) 编辑
摘要:我是在今年七八月份的时候,为了准备秋招,才开始我两个月的LeetCode刷题之旅。当时好像是在一个codetop的网站上,我把字节的所有高频题都刷过一遍(出现过两三次以上),刷完之后我信心满满地去投了简历,投完过了五分钟我刷新了一下网页——“已结束”(简历直接挂了),哈哈哈哈。 后来无意间进了个实习 阅读全文
posted @ 2021-12-18 12:26 JunanP 阅读(5) 评论(0) 推荐(0) 编辑
摘要:84. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10 示例 2: 阅读全文
posted @ 2021-12-17 23:01 JunanP 阅读(5) 评论(0) 推荐(0) 编辑
摘要:739. 每日温度 请根据每日 气温 列表 temperatures ,请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = [73,74,75,71,69,72,76,73] 输出: [1,1,4,2,1 阅读全文
posted @ 2021-12-17 20:22 JunanP 阅读(9) 评论(0) 推荐(0) 编辑
摘要:78. 子集 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3 阅读全文
posted @ 2021-12-16 19:29 JunanP 阅读(2) 评论(0) 推荐(0) 编辑
摘要:76. 最小覆盖子串 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证 阅读全文
posted @ 2021-12-16 19:27 JunanP 阅读(6) 评论(0) 推荐(0) 编辑
摘要:72. 编辑距离 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 示例 1: 输入:word1 = "horse", word2 = "ros" 输出:3 解释: 阅读全文
posted @ 2021-12-16 19:21 JunanP 阅读(11) 评论(0) 推荐(0) 编辑
摘要:70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 阅读全文
posted @ 2021-12-14 21:00 JunanP 阅读(43) 评论(0) 推荐(0) 编辑
摘要:这篇只针对目标格式为yyyy-MM-dd HH:mm:ss的,有其它需求的就不用看啦~ 今天被提了个要求要统一爬取过来的某日期字段为yyyy-MM-dd HH:mm:ss格式。一看才发现原来存储的日期格式五花八门的,几乎什么样子的都有,所以下面我对不同情况用不同的方法去处理。发现所有数据主要就两大类 阅读全文
posted @ 2021-12-14 19:59 JunanP 阅读(154) 评论(0) 推荐(0) 编辑
摘要:64. 最小路径和 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 输入:grid = [[1,3,1],[1,5,1],[4,2,1]] 输出:7 解释:因为路径 1→3→1→1 阅读全文
posted @ 2021-12-13 21:42 JunanP 阅读(9) 评论(0) 推荐(0) 编辑
摘要:62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1: 输入:m = 3, n = 7 输出:28 示 阅读全文
posted @ 2021-12-13 21:40 JunanP 阅读(4) 评论(0) 推荐(0) 编辑
摘要:56. 合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 示例 1: 输入:intervals = [[1,3],[2,6] 阅读全文
posted @ 2021-12-13 21:35 JunanP 阅读(3) 评论(0) 推荐(0) 编辑
摘要:给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 阅读全文
posted @ 2021-12-13 21:29 JunanP 阅读(4) 评论(0) 推荐(0) 编辑
摘要:53. 最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最 阅读全文
posted @ 2021-12-12 23:20 JunanP 阅读(14) 评论(0) 推荐(0) 编辑
摘要:49. 字母异位词分组 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。 示例 1: 输入: strs = ["eat", "tea", "tan", "ate", "nat" 阅读全文
posted @ 2021-12-12 23:07 JunanP 阅读(8) 评论(0) 推荐(0) 编辑
摘要:48. 旋转图像 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 阅读全文
posted @ 2021-12-12 23:05 JunanP 阅读(62) 评论(0) 推荐(0) 编辑
摘要:46. 全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 输入:nums = 阅读全文
posted @ 2021-12-11 16:42 JunanP 阅读(3) 评论(0) 推荐(0) 编辑
摘要:42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图, 阅读全文
posted @ 2021-12-11 16:39 JunanP 阅读(17) 评论(0) 推荐(0) 编辑
摘要:给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。 candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。 对于给定的输入,保证和为 t 阅读全文
posted @ 2021-12-11 16:23 JunanP 阅读(5) 评论(0) 推荐(0) 编辑
摘要:在用python2的集群中执行python文件会出现 Non-UTF-8 code starting with '\xe5' 的报错。 查一下原因,解决方法是在首行加入: # -*- coding: utf-8 -*- 就可以解决报错了。 虽然用python用的很久了,但一直不懂: 加入的明明是个注 阅读全文
posted @ 2021-12-10 22:59 JunanP 阅读(95) 评论(0) 推荐(0) 编辑
摘要:最近几天刷了一遍b站的狂神说java基础,虽然老师说要记录博客总结,但要是每个知识点都按部就班地从零去记录,实在是费时且意义不大呀。 我自己的习惯还是中途记录下来了一些感觉有用的、豁然开朗的东西,所以这篇主要是记给自己做个记录。所以基本上没啥逻辑顺序,就东一个西一个的知识点吧。 左移和右移操作 结论 阅读全文
posted @ 2021-12-10 22:35 JunanP 阅读(1) 评论(0) 推荐(0) 编辑
摘要:34. 在排序数组中查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(log n) 的算法解决此 阅读全文
posted @ 2021-12-10 20:18 JunanP 阅读(4) 评论(0) 推荐(0) 编辑
摘要:33. 搜索旋转排序数组 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], 阅读全文
posted @ 2021-12-10 20:13 JunanP 阅读(2) 评论(0) 推荐(0) 编辑
摘要:32. 最长有效括号 给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例 1: 输入:s = "(()" 输出:2 解释:最长有效括号子串是 "()" 示例 2: 输入:s = ")()())" 输出:4 解释:最长有效括号子串是 "()()" 示例 阅读全文
posted @ 2021-12-10 19:47 JunanP 阅读(10) 评论(0) 推荐(0) 编辑
摘要:31. 下一个排列 实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列(即,组合出下一个更大的整数)。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须 原地 修改,只允许使用额外常数空间。 示例 1: 输入:nums = [1,2, 阅读全文
posted @ 2021-12-10 19:36 JunanP 阅读(2) 评论(0) 推荐(0) 编辑
摘要:23. 合并K个升序链表 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1- 阅读全文
posted @ 2021-12-04 13:40 JunanP 阅读(3) 评论(0) 推荐(0) 编辑
摘要:22. 括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 1输出:["()"] 思路分析: 阅读全文
posted @ 2021-12-04 13:37 JunanP 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()" 输出:true 示例 2: 输入:s = "()[]{}" 输出 阅读全文
posted @ 2021-12-04 13:34 JunanP 阅读(4) 评论(0) 推荐(0) 编辑
摘要:21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = []输出:[] 示例 3: 阅读全文
posted @ 2021-12-04 13:27 JunanP 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Python使用Asyncio协程以及多协程爬虫的使用方法。 我们都知道python有一个GIL(全局解释器锁),因此虽然有Threading库,但那只是用来模拟多线程,因此Python的多线程也不能带来真正的并行。 所以要用python达到并发的效果,要么多进程(multiprocess),要么就 阅读全文
posted @ 2021-12-04 13:21 JunanP 阅读(18) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示