LeetCode-189-旋转数组

2022-04-20
阅读 2 分钟
1.6k
题目描述:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联...
封面图

LeetCode-152-乘积最大子数组

2022-04-19
阅读 2 分钟
1.4k
题目描述:给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

LeetCode-392-判断子序列

2022-04-18
阅读 2 分钟
2.6k
题目描述:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。进阶:如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 ...
封面图

LeetCode-215-数组中的第K个最大元素

2022-04-17
阅读 1 分钟
1.4k
题目描述:给定整数数组 nums 和整数 k,请返回数组中第 **k** 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

LeetCode-230-二叉搜索树中第K小的元素

2022-04-16
阅读 2 分钟
1.4k
题目描述:给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

LeetCode-222-完全二叉树的节点个数

2022-04-15
阅读 2 分钟
1.2k
题目描述:给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ $2^{h}$ 个节点。示例说明请见LeetCode官网。来源:力扣...
封面图

LeetCode-199-二叉树的右视图

2022-04-14
阅读 2 分钟
1.3k
题目描述:给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

LeetCode-179-最大数

2022-04-12
阅读 2 分钟
1.7k
题目描述:给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

Spring-读取配置

2022-04-03
阅读 2 分钟
1k
在Spring中,动态配置可以在配置中心或者profile文件中放置,而读取配置的方式有很多种,我常用的有以下两种:通过@Value("${property-name}")注解的方式读取配置,这种方式的好处是简单直接,需要读取哪个配置,直接在需要的类里面添加一个成员变量加上这个注解就可以了,缺点就是对每个需要使用这个配置的类...
封面图

LeetCode-173-二叉搜索树迭代器

2022-04-02
阅读 2 分钟
1.2k
题目描述:实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器:BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在于 BST 中的数字,且该数字小于 BST 中的任何元素。boolean hasNext() 如果向...
封面图

LeetCode-165-比较版本号

2022-04-01
阅读 2 分钟
1.7k
题目描述:给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 ...

LeetCode-089-格雷编码

2022-03-19
阅读 1 分钟
1.4k
题目描述:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。格雷编码序列必须以 0 开头。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。...
封面图

JZ-076-树中两个节点的最低公共祖先

2022-03-18
阅读 2 分钟
1.3k
树中两个节点的最低公共祖先题目描述二叉查找树 {代码...} 题目链接: [树中两个节点的最低公共祖先]()代码 {代码...} 【每日寄语】 首孝悌,次见闻;知某数,识某文。
封面图

JZ-075-股票的最大利润

2022-03-17
阅读 1 分钟
1.1k
可以有一次买入和一次卖出,买入必须在前。求最大收益。例子:题目描述 [7, 1, 5, 3, 6, 4]最大利润为 6 - 1 = 5题目链接: [股票的最大利润]()
封面图

JZ-074-n 个骰子的点数

2022-03-16
阅读 2 分钟
1.1k
n 个骰子的点数题目描述把 n 个骰子仍在地上,求点数和为 s 的概率。题目链接: [n 个骰子的点数]()代码 {代码...} 【每日寄语】 香九龄,能温席;孝于亲,所当执。
封面图

JZ-073-最长不含重复字符的子字符串

2022-03-15
阅读 1 分钟
1.2k
输入一个字符串(只包含 a~z 的字符),求其最长不含重复字符的子字符串的长度。例如对于 arabcacfr,最长不含重复字符的子字符串为 acfr,长度为 4。题目链接: [最长不含重复字符的子字符串]()
封面图

JZ-072-礼物的最大价值

2022-03-14
阅读 2 分钟
1.1k
在一个 m*n 的棋盘的每一个格都放有一个礼物,每个礼物都有一定价值(大于 0)。从左上角开始拿礼物,每次向右或向下移动一格,直到右下角结束。给定一个棋盘,求拿到礼物的最大价值。例如,对于如下棋盘1 10 3 812 2 9 65 7 4 113 7 16 5礼物的最大价值为 1+12+5+7+7+16+5=53。题目链接: [礼物的最大价值]()
封面图

JZ-071-把数字翻译成字符串

2022-02-25
阅读 2 分钟
1.6k
给定一个数字,按照如下规则翻译成字符串:1 翻译成“a”,2 翻译成“b”... 26 翻译成“z”。一个数字有多种翻译可能,例如 12258 一共有 5 种,分别是 abbeh,lbeh,aveh,abyh,lyh。实现一个函数,用来计算一个数字有多少种不同的翻译方法。题目链接: [把数字翻译成字符串]()
封面图

JZ-070-数字序列中的某一位数字

2022-02-24
阅读 2 分钟
1.1k
数字以 0123456789101112131415... 的格式序列化到一个字符串中,求这个字符串的第 index 位。题目链接: [数字序列中的某一位数字]()
封面图

JZ-069-在 O(1) 时间内删除链表节点

2022-02-23
阅读 2 分钟
1.3k
在 O(1) 时间内删除链表节点。方案:如果该节点不是尾节点,那么可以直接将下一个节点的值赋给该节点,然后令该节点指向下下个节点,再删除下一个节点,时间复杂度为 O(1)。否则,就需要先遍历链表,找到节点的前一个节点,然后让前一个节点指向 null,时间复杂度为 O(N)。题目链接: [在 O(1) 时间内删除链表节点]()
封面图

JZ-068-打印从 1 到最大的 n 位数

2022-02-22
阅读 2 分钟
1.1k
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数即 999。题目链接: [打印从 1 到最大的 n 位数]()

JZ-067-剪绳子

2022-02-21
阅读 2 分钟
1.6k
给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,m<=n),每段绳子的长度记为k[1],...,k[m]。请问k[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。题目链接: 剪绳子
封面图

JZ-066-机器人的运动范围

2022-02-20
阅读 3 分钟
1.3k
地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格...
封面图

JZ-065-矩阵中的路径

2022-02-19
阅读 3 分钟
1.4k
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如a b c es f c sa d e e矩阵中包含一条字符串"bcced"的路径,但是矩...
封面图

JZ-064-滑动窗口的最大值

2022-02-18
阅读 2 分钟
1.6k
给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1},{2,3,[4,2,6],2,5,1}, {2,3,4,[2,...
封面图

JZ-063-数据流中的中位数

2022-02-17
阅读 2 分钟
1.6k
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。题目链接: 数据流中的中位数
封面图

JZ-062-二叉查找树的第 K 个结点

2022-02-16
阅读 1 分钟
1.4k
二叉查找树的第 K 个结点题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。题目链接: 二叉查找树的第 K 个结点代码 {代码...} 【每日寄语】 轻松时记得努力,忙碌时别忘了梦想。
封面图

JZ-061-序列化二叉树

2022-02-15
阅读 2 分钟
1.5k
请实现两个函数,分别用来序列化和反序列化二叉树。二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过某种符号表示空节点(#),...
封面图

LeetCode-162-寻找峰值

2022-01-27
阅读 2 分钟
1.7k
题目描述:峰值元素是指其值大于左右相邻值的元素。给你一个输入数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请...
封面图

LeetCode-153-寻找旋转排序数组中的最小值

2022-01-26
阅读 1 分钟
1.8k
题目描述:已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], ...
封面图