自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【玩转贪心算法专题】452. 用最少数量的箭引爆气球是【中等】

墙面上的气球记录在整数数组 points ,其中points[i] = [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。输入:points = [[10,16],[2,8],[1,6],[7,12]]输入:points = [[1,2],[3,4],[5,6],[7,8]]输入:points = [[1,2],[2,3],[3,4],[4,5]]-在x = 11处发射箭,击破气球[10,16]和[7,12]。-在x = 6处射出箭,击破气球[2,8]和[1,6]。

2024-09-14 07:56:02 392

原创 @Deprecated 注解的作用及使用示例

注解是 Java 中一个重要的工具,用于管理和维护过时的代码。通过标记不再推荐使用的代码,可以帮助开发者迁移到更好的替代方案,确保代码库的健康和可维护性。

2024-09-11 07:43:41 151

原创 【玩转贪心算法专题】406. 根据身高重建队列【中等】

因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。输入:people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]输入:people = [[6,0],[5,0],[4,0],[3,2],[2,2],[1,4]]输出:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]输出:[[4,0],[5,0],[2,2],[3,2],[1,4],[6,0]]那么只需要按照k为下标重新插入队列就可以了。

2024-09-11 07:40:46 510

原创 if 和 else if 的区别

if和else if的区别

2024-09-10 07:23:01 272

原创 【玩转贪心算法专题】860. 柠檬水找零【简单】

每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。对于最后一位顾客,我们无法退回 15 美元,因为我们现在只有两张 10 美元的钞票。对于接下来的 2 位顾客,我们收取一张 10 美元的钞票,然后返还 5 美元。第 5 位顾客那里,我们找还一张 10 美元的钞票和一张 5 美元的钞票。第 4 位顾客那里,我们收取一张 10 美元的钞票,并返还 5 美元。情况三:账单是20,优先消耗一个10和一个5,如果不够,再消耗三个5。前 3 位顾客那里,我们按顺序收取 3 张 5 美元的钞票。

2024-09-10 07:21:08 582

原创 Elasticsearch聚合查询

三种类型的聚合。

2024-09-09 07:39:55 460

原创 【玩转贪心算法专题】135. 分发糖果[困难]

2、起点下标 ratings.length - 2 从右往左, 只要左边 比 右边 大,此时 左边的糖果应该 取本身的糖果数(符合比它左边大) 和 右边糖果数 + 1 二者的最大值,这样才符合 它比它左边的大,也比它右边大。1、起点下标1 从左往右,只要 右边 比 左边 大,右边的糖果=左边 + 1。解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。解释:你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目。

2024-09-09 07:35:56 601

原创 【玩转贪心算法专题】134. 加油站【中等】

i从0开始累加rest[i],和记为curSum,一旦curSum小于零,说明[0, i]区间都不能作为起始位置,因为这个区间选择任何一个位置作为起点,到i这里都会断油,那么起始位置从i+1算起,再从0计算curSum。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]

2024-09-03 07:18:54 597

原创 【玩转贪心算法专题】55. 跳跃游戏【中等】

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标。贪心算法局部最优解:每次取最大跳跃步数(取最大覆盖范围),整体最优解:最后得到整体最大覆盖范围,看是否能到终点。解释:无论怎样,总会到达下标为 3 的位置。解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。判断你是否能够到达最后一个下标,如果可以,返回 true;否则,返回 false。输入:nums = [2,3,1,1,4]输入:nums = [3,2,1,0,4]

2024-08-21 07:19:48 238

原创 【玩转贪心算法专题】122. 买卖股票的最佳时机 II

解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。输入:prices = [7,1,5,3,6,4]返回 你能获得的 最大 利润。

2024-08-20 07:47:54 311

原创 【玩转贪心算法专题】53. 最大子数组和(多语言Java/C++/Python/Go)

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]可能大家回想到双层for循环去遍历,思路没问题但最终结果会超时。解释:连续子数组 [4,-1,2,1] 的和最大,为 6。输入:nums = [5,4,-1,7,8]第二种则是这个专题的方法-贪心。输入:nums = [1]是数组中的一个连续部分。

2024-08-15 07:27:56 318 1

原创 初入职场,工作焦虑是件正常的事情吗?

于是,我开始思考,这种焦虑是不是正常的?在职场初期,大家都会有这样的感觉吗?面对不断增加的工作量和复杂的业务,有没有更好的方式去应对?又或者,大家是如何调整自己的心态,去平衡工作和生活的呢?原本,我对工作的态度是积极向上的,但最近却开始有点恐惧上班。每天都有未完成的任务,而后面的需求也堆积如山。我一直希望自己能高效地完成所有的任务,但现实是,每一个需求背后往往牵涉到很多复杂的业务,超出了我最初的预期。我知道自己是新人,还有很多东西要学习,但当这些压力不断堆积时,我也会怀疑自己能否应对得来。

2024-08-12 08:13:49 220

原创 【贪心算法专题】455. 分发饼干 Java C++ Python Go

【贪心算法专题】455. 分发饼干 Java C++ Python Go语言

2024-08-12 07:58:34 169

原创 校招秋招BOSS话术沟通话术(结尾有示例 Java)

与BOSS的有效沟通是职业发展的关键技能。通过明确目标、用数据说话、简明扼要、提供解决方案以及倾听与反馈,你能够更加自信和专业地进行沟通,为自己的职业发展奠定坚实的基础。希望本文提供的话术和技巧能够帮助你在职场中更加游刃有余。

2024-08-12 07:44:52 410

原创 单例模式详解【设计模式】

双重检查锁模式是一种非常好的单例实现模式,解决了单例、性能、线程安全问题,上面的双重检测锁模式看上去完美无缺,其实是存在问题,在多线程的情况下,可能会出现空指针问题,出现问题的原因是JVM在实例化对象的时候会进行优化和指令重排序操作。静态内部类单例模式中实例由内部类创建,由于 JVM 在加载外部类的过程中, 是不会加载静态内部类的, 只有内部类的属性/方法被调用时才会被加载, 并初始化其静态属性。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。饿汉式-方式2(静态代码块方式)

2024-08-08 08:19:30 539

原创 【玩转回溯算法专题】47. 全排列 II 【中等】

输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。当path.size()==nums.length时,符合条件保存返回。//used 确保不对同一个元素使用多次(注意:不是去重逻辑)输入:nums = [1,1,2]输入:nums = [1,2,3]包含重复数字,返回不重复的全排列。

2024-08-08 08:05:32 242

原创 【玩转回溯算法专题】46. 全排列【中等】

输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以 按任意顺序 返回答案。输入:nums = [1,2,3]输出:[[0,1],[1,0]]nums 中的所有整数 互不相同。输入:nums = [0,1]输入:nums = [1]

2024-08-07 08:04:59 241

原创 ES的mapping属性详解【elasticsearch】

● 数值:long、integer、short、byte、double、float、half_float。○ Keywords:keyword、constant_keyword 和 wildcard。● 字符串:text 、annotated-next、completion。○ rank_features:记录数字特征以提高查询时的命中率。○ rank_feature:记录数字特征以提高查询时的命中率。● 日期: datas : data 、data_nanos。○ nested:嵌套类型。

2024-08-07 08:04:23 178

原创 Stream流常见用法

双列集合获取stream()流—map。收集流中的数据,(List、Set、)收集流中的数据,放到Map集合中。单列集合获取stream()流。使用Stream[不常用]转换流中的数据类型map。收集toArray()

2024-08-06 07:51:04 358

原创 【玩转回溯算法专题】491. 非递减子序列 【中等】

给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素。你可以按 任意顺序 返回答案。输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。可以不加终止条件,startIndex每次都会加1,并不会无限递归。输入:nums = [4,4,3,2,1]输入:nums = [4,6,7,7]输出:[[4,4]]

2024-08-06 07:48:06 231

原创 【玩转回溯算法专题】90. 子集 II 【中等】

涉及去重,首先对nums数组排序,并定义一个used[]数组,用来记录nums[]的元素是否被使用过,也就是以第二个 2开始 作为第一个元素去进入for循环逻辑,是无用的,因为会重复。给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的。解集 不能 包含重复的子集。输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]首先是题目给的nums[],for循环的起始值startIndex。输入:nums = [1,2,2]输入:nums = [0]输出:[[],[0]]

2024-08-05 08:06:13 298

原创 后端开发提效工具

2、截图工具 snipaste (window、mac都有)打开后-点击首选项-进行快捷键设置(以windows)为例。window:win+V 开启后可使用。右键图标-打开首选项。

2024-08-02 08:37:33 204

原创 【玩转回溯算法专题】78. 子集 【中等】

输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]给你一个整数数组 nums ,数组中的元素 互不相同。返回该数组所有可能的。全局变量数组path为子集收集元素,二维数组result存放子集组合。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。求取子集问题,不需要任何剪枝!因为子集就是要遍历整棵树。输入:nums = [1,2,3]nums 中的所有元素 互不相同。输入:nums = [0]输出:[[],[0]]

2024-08-02 08:02:11 321

原创 ES基础概念

ES基础概念:节点、角色、索引、文档、集群

2024-07-29 08:15:17 207

原创 【玩转回溯算法专题 力扣 131----分割回文串【中等】

力扣131----分割回文串【中等】

2024-07-29 08:08:45 317

原创 【玩转回溯算法专题】39.组合总和 【中等】

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。2 和 3 可以形成一组候选,2 + 2 + 3 = 7。输入:candidates = [2,3,6,7], target = 7。输入: candidates = [2,3,5], target = 8。输出: [[2,2,2,2],[2,3,3],[3,5]]输出:[[2,2,3],[7]]

2024-07-22 07:49:11 155

原创 JVM生命周期

JVM 有两种运行模式 Server 与 Client,两种模式的区别在于:Client 模式启动速度较快,Server 模式启动较慢;:当启动一个 Java 程序时,通过引导类加载器(bootstrap class loader)创建一个初始类(initial class),对于拥有 main 函数的类就是 JVM 实例运行的起点。Server 模式启动的 JVM 采用的是重量级的虚拟机,对程序采用了更多的优化;Client 模式启动的 JVM 采用的是轻量级的虚拟机。

2024-07-17 22:13:32 112

原创 【玩转回溯算法专题】77——组合【中等】

力扣77题-组合

2024-07-15 22:24:32 178

原创 Mac电脑实用工具

3、截图工具 snipaste (windows也有)1、复制粘贴剪贴板 Maccy。2、鼠标操作 mos。

2024-05-21 09:58:07 101

原创 ArrayList的扩容规则

ArrayList底层是Object[] 数组。

2023-04-20 16:41:10 94 1

原创 修改idea中github、gitee密码

3、点击管理windows凭据。1、打开电脑的控制面板。

2023-04-16 16:32:44 1265

空空如也

空空如也

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

TA关注的人

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