陈彬_smile
码龄12年
关注
提问 私信
  • 博客:53,179
    53,179
    总访问量
  • 116
    原创
  • 1,185,017
    排名
  • 9
    粉丝
  • 0
    铁粉

个人简介:待到山花烂漫时,她在丛中笑。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 目前就职: 360金融
  • 加入CSDN时间: 2012-11-01
博客简介:

chenbin1991smile的博客

查看详细资料
个人成就
  • 获得12次点赞
  • 内容获得19次评论
  • 获得49次收藏
创作历程
  • 48篇
    2021年
  • 61篇
    2020年
  • 13篇
    2019年
成就勋章
TA的专栏
  • 算法与数据结构(LeetCode解题)
    2篇
  • 字符串
    4篇
  • 广度优先遍历
    2篇
  • 回溯
    2篇
  • 动态规划
    11篇
  • 树
    5篇
  • RocketMQ
    8篇
  • Redis开发与运维
    19篇
  • 深入理解Apache Dubbo
    9篇
  • netty
  • netty权威指南
    8篇
  • 深入浅出netty
    6篇
  • Elasticsearch
    15篇
  • Java
  • Java Reflection(反射)
    4篇
  • Java IO
    8篇
  • Java NIO
    7篇
  • Java 多线程
    9篇
  • JVM
    3篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 服务器
    linux
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

leetCode337. 打家劫舍 III(二叉树)

在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。示例 1:输入: [3,2,3,null,3,null,1] 3 / \ 2 3 \ \ ...
原创
发布博客 2021.11.02 ·
340 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetCode 213. 打家劫舍 II

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。示例1:输入:nums = [2,3,2]输出:3解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为.
原创
发布博客 2021.11.01 ·
278 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetCode 198. 打家劫舍I

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入:...
原创
发布博客 2021.11.01 ·
273 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetCode 714. 买卖股票的最佳时机含手续费

给定一个整数数组prices,其中第i个元素代表了第i天的股票价格 ;整数fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。示例 1:输入:prices = [1, 3, 2, 8, 4, 9], fee = 2输出:8解释:能够达到的最大利润: 在此处买入p...
原创
发布博客 2021.10.18 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 309 最佳买卖股票时机含冷冻期

给定一个整数数组,其中第i个元素代表了第i天的股票价格 。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]来源:力扣(LeetCode)链接:https://leetcode-cn.c...
原创
发布博客 2021.10.18 ·
97 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetCode 188 买卖股票的最佳时机 IV(k=任意正整数)

给定一个整数数组prices ,它的第 i 个元素prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入:k = 2, prices = [2,4,1]输出:2解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2 。示例 2:输入:k ..
原创
发布博客 2021.10.14 ·
109 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

123. 买卖股票的最佳时机 III(k=2)

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:prices = [3,3,5,0,0,3,1,4]输出:6解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。 随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天...
原创
发布博客 2021.10.13 ·
111 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetCode 122 买卖股票的最佳时机 II(k=+∞,正无穷)

给定一个数组 prices ,其中prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(...
原创
发布博客 2021.10.13 ·
103 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetCode 121买卖股票的最佳时机(k=1)

给定一个数组 prices ,它的第i 个元素prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利...
原创
发布博客 2021.10.13 ·
88 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetCode 3 无重复字符的最长子串(滑动窗口)

给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pw...
原创
发布博客 2021.10.12 ·
83 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetCode 438 找到字符串中所有字母异位词

给定两个字符串s和 p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。示例1:输入: s = "cbaebabacd", p = "abc"输出: [0,6]解释:起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。示例 2:输入: s = "abab", p = "ab"输出: [0...
原创
发布博客 2021.10.12 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetCode 76 最小覆盖子串(滑动窗口)

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC"示例 2:输入:s = "a", t = "a"输出:"a"示例 3:输入: s = "a",
原创
发布博客 2021.10.11 ·
213 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetCode 567 字符串的排列(滑动窗口)

给你两个字符串s1和s2 ,写一个函数来判断 s2 是否包含 s1的排列。如果是,返回 true ;否则,返回 false 。换句话说,s1 的排列之一是 s2 的 子串 。示例 1:输入:s1 = "ab" s2 = "eidbaooo"输出:true解释:s2 包含 s1 的排列之一 ("ba").示例 2:输入:s1= "ab" s2 = "eidboaoo"输出:false来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro...
原创
发布博客 2021.10.11 ·
105 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode 752. 打开转盘锁(BFS)

你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' 。每个拨轮可以自由旋转:例如把 '9' 变为'0','0' 变为 '9' 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 '0000' ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,无法再被旋转。字符串 target 代表可以解锁的数字.
原创
发布博客 2021.09.08 ·
193 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 111 求二叉树最小深度

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree思路:
原创
发布博客 2021.08.25 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

BFS广度优先算法框架

BFS的核心思想,就是把一些问题抽象成图,从一个点开始向四周扩散。一般来说,我们写BFS算法都是用队列这种数据结构,每次将一个节点周围的所有节点加入队列。BFS相对DFS最主要区别是:BFS找到的路径一定是最短的,但代价就是空间复杂度比DFS大很多。BFS出现的常见场景,问题的本质就是在一幅图中找到起点start到终点target的最近距离。记住下面这个框架就ok了://计算从起点start到终点target的最近距离int BFS(Node start,Node target){
原创
发布博客 2021.08.25 ·
265 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 51 N 皇后

n皇后问题 研究的是如何将 n个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的n皇后问题 的解决方案。每一种解法包含一个不同的n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]解释:如上图所示,4 皇后问题存在两个不同的解法。示例 2:输入:...
原创
发布博客 2021.07.27 ·
205 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

求一个数组的全部排列组合

给定一个数组,元素不重复,返回它的所有排列组合。例如输入:[1,2,3]返回[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]解题思路:通过回溯,穷举的方式获取全排列组合/** * 给定一个不重复元素的数组,返回它的全排列 */public class TestFull { public List<List<Integer>> arrFullList(int[] nums) { Lis
原创
发布博客 2021.07.27 ·
1747 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

LeetCode 322 零钱兑换(coinChange)

给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回-1 。你可以认为每种硬币的数量是无限的。示例1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入:coins = [1], amount ...
原创
发布博客 2021.07.20 ·
389 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

LeetCode 509 斐波那契数(Fibonacci)

斐波那契数,通常用F(n) 表示,形成的序列称为 斐波那契数列 。该数列由0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1)= 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/fibonacci-numberpublic class Fibonacci { /** ...
原创
发布博客 2021.07.19 ·
187 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多