自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 IDEA Java 第一个mybatis入门程序

好久不学java,重新再过一遍,然后记录下

2023-05-03 22:28:32 800

原创 leetcode_160_相交链表

相交链表描述简单给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Intersected at

2021-06-05 16:30:40 151

原创 leetcode_525_连续数组

连续数组描述中等给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。示例 1:输入: nums = [0,1]输出: 2说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。示例 2:输入: nums = [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。提示:1 <= nums.length <= 105nums[i] 不是 0 就是 1

2021-06-04 11:36:25 147

原创 leetcode_692_前k个高频单词

前K个高频单词中等给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: ["i", "love", "leetcode", "i", "love", "coding"], k = 2输出: ["i", "love"]解析: "i" 和 "love" 为出现次数最多的两个单词,均为2次。 注意,按字母顺序 "i" 在 "love" 之前。示例 2:输入: ["the", "da

2021-05-26 15:04:06 98

原创 leetcode_1190_反转每对括号间的子串

反转每对括号间的子串描述中等给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。示例 1:输入:s = "(abcd)"输出:"dcba"示例 2:输入:s = "(u(love)i)"输出:"iloveu"示例 3:输入:s = "(ed(et(oc))el)"输出:"leetcode"示例 4:输入:s = "a(bcdefghijkl(mno)p)q"

2021-05-26 11:37:16 91

原创 leetcode_664_奇怪的打印机

奇怪的打印机描述困难有台奇怪的打印机有以下两个特殊要求:打印机每次只能打印由 同一个字符 组成的序列。每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。示例 1:输入:s = "aaabbb"输出:2解释:首先打印 "aaa" 然后打印 "bbb"。示例 2:输入:s = "aba"输出:2解释:首先打印 "aaa" 然后在第二个位置打印 "b" 覆盖掉原来的字符 'a'。提示:

2021-05-25 15:58:09 193

原创 Java相关使用回顾-Tomcat-Maven-Servlet

这里不涉及过多的理论知识简单的进行回顾,笔记JavaJDK: Java Development Kit 下载(Java 16)JRE: Java Runtime EnvironmentJVM: Java Virtual Machine下载安装完成后,添加环境变量JAVA_HOMEjava目录在系统的Path中添加 %JAVA_HOME%\bin路径编写Java代码,并保存为Hello.java文件(文件名和类名一致)(使用了VSCode,安装Java插件并自动识别了JD

2021-05-25 11:37:03 154 1

原创 leetcode_42_接雨水

接雨水描述困难给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [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]输出: 6解题最简单的一种思路,找到最高的那根柱子从左边开始扫...

2021-04-02 14:00:20 62

原创 leetcode_77_组合

组合描述中等给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]解题一道简单的回溯问题,只需判断回溯函数的k是否为0一开始写的时候,没有copy(),最后的结果为空,...

2021-03-31 13:16:49 79

原创 leetcode_121_122_123_买卖股票的最佳时机

文章目录买卖股票的最佳时机描述解题买卖股票的最佳时机II描述解题买卖股票的最佳时机III描述解题买卖股票的最佳时机描述简单给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 =

2021-01-09 22:24:00 69

原创 leetcode_189_旋转数组

旋转数组中等给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] 和 k = 2输出: [3,99,-1,-100]解释: 向右旋转 1 步: [99,-1,

2021-01-08 12:30:24 78

原创 Python tarfile路径问题

Python tarfile路径问题存在问题假设在目录test1/test2下有两个文件a.txt和b.txttest1 |--test2 | |--a.txt | |--b.txt |--test3 |--test4 现在需要将其压缩至test1/test3目录下很容易得到def tar_files(file_name, from_path, to_path): tar_file = file_name + '.tar.gz' if n

2021-01-07 21:54:22 973

原创 剑指offer_15_二进制中1的个数

二进制中1的个数描述简单请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。示例 2:输入:00000000000000000000000010000000输出:1

2021-01-05 23:37:25 86

原创 leetcode_86_分隔链表

分隔链表描述中等给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5解题另外定义两个链表,一条放小于x的,一条放大于等于x的最后两条接起来# python# Definition for singly-linked li

2021-01-05 22:53:13 113 1

原创 leetcode_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 = 1示例 2:输入:3输出:2解释:F(3) = F(2) + F(1) = 1 + 1

2021-01-05 22:26:35 57

原创 leetcode_435_无重叠区间

无重叠区间描述中等给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2], [1,2] ]输出: 2解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。

2020-12-31 09:49:08 87

原创 leetcode_1046_最后一块石头的重量

最后一块石头的重量描述简单有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块最重的石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。示例:输入:[2,7,4,1,8,1]输出:1解释:先选出 7 和

2020-12-30 20:27:47 76

原创 leetcode_135_分发糖果

分发糖果描述困难老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗糖果。示例 2:输入: [1,2,2]输出: 4解释: 你可以分别给这三个孩子分发 1、2、1 颗糖果

2020-12-24 14:39:31 128

原创 leetcode_316_去除重复字母

去除重复字母描述中等给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。注意:该题与 leetcode 1081相同示例 1:输入:s = "bcabc"输出:"abc"示例 2:输入:s = "cbacdcbc"输出:"acdb"提示:1 <= s.length <= 104s 由小写英文字母组成解题一开始以为是直接去重,然后返回字典序最小的排列方式,按照ASCII码排序

2020-12-20 20:45:23 107

原创 DeepAR笔记

DeepAR-概率预测模型介绍DeepAR是Amazon在2017年提出的基于深度学习的时间序列预测方法,目前在Amazon机器学习平台Amazon SageMaker和其开源的时序预测工具库GluonTS里有集成RNN一般常见的RNN模型,如下图,当输入xt−1x_{t-1}xt−1​时,通过隐藏层和状态的计算后得到ot−1o_{t-1}ot−1​,然后再输入xtx_txt​计算后得到oto_tot​,其中,ot−1o_{t-1}ot−1​和oto_{t}ot​为具体“预测”的值相当于输入一个序

2020-12-12 12:57:45 3995 2

原创 leetcode_376_摆动序列

摆动序列描述中等如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序列中删除一些

2020-12-12 10:30:06 81

原创 剑指offer_09_用两个栈实现队列

面试题09_用两个栈实现队列描述简单用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"...

2020-12-06 11:07:48 75

原创 leetcode_106_从中序与后序遍历序列构造二叉树

从中序与后序遍历序列构造二叉树描述中等根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。示例中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7解题和第105题类似节点分布...

2020-12-06 10:55:09 82

原创 leetcode_105_从前序与中序遍历序列构造二叉树

从前序与中序遍历序列构造二叉树描述中等根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。示例前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7解题前序遍历第一个点肯定是根节点,然后...

2020-12-06 10:53:51 77

原创 剑指offer_07_重建二叉树

剑指offer_07_重建二叉树与leetcode105题重复描述中等输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <= 5000解题前序遍历第一个点肯定是根节点,然后

2020-12-06 10:43:06 54

原创 剑指offer_06_从尾到头打印链表

剑指offer_06_从尾到头打印链表描述简单输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000解题最简单的,遍历链表,将值insert头插入列表也可以在列表后面append,最后倒序返回# Definition for singly-linked list.# class ListNode:# def __init__(self, x):

2020-12-06 10:38:04 64

原创 剑指offer_05_替换空格

剑指offer_05_替换空格描述简单请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000解题最简单的python内置替换class Solution: def replaceSpace(self, s: str) -> str: return s.replace(' ', '%20')常见的思

2020-12-06 10:35:05 62

原创 剑指offer_04_二维数组中的查找

剑指offer_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,

2020-12-06 10:31:06 52

原创 剑指offer_03_数组中重复的数字

剑指offer_03_数组中重复的数字描述简单找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 解题排序,然后看相邻元素是否相同class Solution: def findRepeatNumber(self, nums) -> int:

2020-12-06 10:17:14 62

原创 leetcode_118_119_杨辉三角

杨辉三角描述简单给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]解题相当于把三角的数据进行左对齐,得[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]除第1、2行和每行的左右两边的数据外,其余的数据等于

2020-12-06 10:05:11 94

原创 leetcode_327_区间和的个数

区间和的个数描述困难给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper。区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。说明:最直观的算法复杂度是 O(n^2) ,请在此基础上优化你的算法。示例:输入: nums = [-2,5,-1], lower = -2, upper = 2,输出: 3 解释: 3个区间分别是: [0,0], [2,2], [0,2],

2020-11-29 18:46:54 184

原创 tensorflow和pytorch离线包下载

直接用conda或pip安装tensorflow或pytorch容易断直接下载离线包再安装比较方便tensorflowhttp://mirrors.aliyun.com/pypi/simple/tensorflow-cpu/http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/pytorchhttps://download.pytorch.org/whl/torch_stable.html...

2020-11-26 16:54:00 152

原创 leetcode_120_三角形最小路径和

三角形最小路径和描述中等给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会

2020-10-31 14:37:28 141 1

原创 leetcode_146_LRU缓存机制

LRU缓存机制描述中等运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。进

2020-10-23 14:19:11 81

原创 leetcode_124_二叉树中的最大路径和

二叉树中的最大路径和描述困难给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6 示例 2:输入: [-10,9,20,null,null,15,7]  -10   / \  9  20    /  

2020-10-23 13:21:59 106

原创 leetcode_115_不同的子序列

不同的子序列描述困难给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。示例 1:输入:S = "rabbbit", T = "rabbit"输出:3解释

2020-10-23 13:11:54 61

原创 leetcode_114_二叉树展开为链表

二叉树展开为链表描述中等给定一个二叉树,原地将它展开为链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \ 6解题展开的结果类似于将二叉树进行先序遍历然后按顺序挂在right指针上如果是每遍历一个值就把他挂在右边,容易丢弃原来的右子树所以设置一个栈,用来保存各子树# Defi

2020-10-23 11:04:21 126 1

原创 leetcode_234_回文链表

回文链表描述简单请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?解题首先通过快慢指针找到链表的中点然后逆序后一部分再与前一部分进行一一比较# Definition for singly-linked list.# class ListNode:# def __init__(self, x)

2020-10-23 10:08:52 82

原创 leetcode_141_142_环形链表

环形链表描述简单给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。进阶:你能用 O(1)(即,常量)内存解决此问题吗?示例 1:输入:head = [3

2020-09-24 11:23:14 355

原创 leetcode_501_二叉搜索树的众数

二叉搜索树的众数描述简单给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。假定 BST 有如下定义:结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的值左子树和右子树都是二叉搜索树例如:给定 BST [1,null,2,2], 1 \ 2 / 2返回[2].提示: 如果众数超过1个,不需考虑输出顺序进阶:你可以不使用额外的空间吗?(假设由递归产生的隐式

2020-09-24 10:30:16 89

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除