自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Soul 算法笔试题——火柴拼接数字——动态规划问题

笔者最近一直在刷动态规划方面算法,昨天 Soul 笔试算法题遇到了一个经典动态规划问题,在此做个记录。题目:用火柴拼接数字,数字 1-9 所需火柴数量分别为:2,5,5,4,5,6,3,7,6,现在给定一个数字,表示总共火柴数量 n,给定一个数组 arr,表示只能组合出该数字。如:n = 5, arr = [1, 3, 6],则表示,用5根火柴将1 ,3,6 中的某些数字进行组合,每一个数字可以被多次使用,得到最终结果。写一个方法,返回值为在 n 根火柴的条件下,arr 数组中,能被拼接出的最大值为多少.

2021-09-28 19:16:37 778 1

原创 用Atomic实现互斥锁

近期面试一家大型互联网公司,当时也不知道哪根筋搭错了,说我熟悉JDK源码,面试官当场要求写一个Atomic的compareAndSet()实现一个互斥锁,当时寻思着还行吧,感觉不难,写着写着发现就不是那么回事了(眼高手低了)写的肯定不对(PS:面试官和我辅导员长的太像,神奇的是,讲话声音都一模一样,一下子整蒙了,面试前半个小时还沉浸在“世界上居然有长得这么像的人”这个问题里面,最终还是挂了)~T~ 好了,不找理由,还是自己菜,自己挖坑自己跳! 反思了许久,今天做一个记录,写...

2021-09-21 00:11:20 326

原创 1755. 最接近目标值的子序列和

每日一题 leetCode,今天分享 leetCode1755题,算法借鉴—左神!题目:给你一个整数数组 nums 和一个目标值 goal 。你需要从 nums 中选出一个子序列,使子序列元素总和最接近 goal 。也就是说,如果子序列元素和为 sum ,你需要 最小化绝对差 abs(sum - goal) 。返回 abs(sum - goal) 可能的 最小值 。注意,数组的子序列是通过移除原始数组中的某些元素(可能全部或无)而形成的数组。示例 1:输入:nums = [5

2021-09-13 18:06:38 368 1

原创 leetCode1139——最大的以 1 为边界的正方形

每日一题 leetCode,今天是 leetCode1139,属于中等难度题目,核心思想就是预处理优化,算法比较容易想到,偏暴力循环求解。题目:给你一个由若干 0 和 1 组成的二维网格grid,请你找出边界全部由 1 组成的最大 正方形 子网格,并返回该子网格中的元素数量。如果不存在,则返回 0。示例 1:输入:grid = [[1,1,1],[1,0,1],[1,1,1]]输出:9示例 2:输入:grid = [[1,1,0,0]]输出:1提示:1 <= g..

2021-09-11 19:39:05 282

原创 leetCode494—目标和

每日一题 leetCode,今天是经典动态规划,leetCode494—目标和题目:给你一个整数数组 nums 和一个整数 target 。向数组中的每个整数前添加'+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 :例如,nums = [2, 1] ,可以在 2 之前添加 '+' ,在 1 之前添加 '-' ,然后串联起来得到表达式 "+2-1" 。返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。示例 1:输入:nums = [1,1.

2021-09-06 18:09:09 713

原创 leetCode815—公交车路线

每日一题 leetCode,今天分享 leetCode815题,公交车路线问题。——算法参考:左神题目:给你一个数组 routes ,表示一系列公交线路,其中每个 routes[i] 表示一条公交线路,第 i 辆公交车将会在上面循环行驶。例如,路线 routes[0] = [1, 5, 7] 表示第 0 辆公交车会一直按序列 1 -> 5 -> 7 -> 1 -> 5 -> 7 -> 1 -> ... 这样的车站路线行驶。现在从 source 车站出发(初

2021-09-05 15:01:59 1014

原创 LeetCode134—加油站

题目:在一条环路上有N个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。示例1:输入:gas = [1,2,3,4,5]cost = [3,4,5...

2021-09-04 11:16:11 102

原创 DCL——一个关于volatile的致命误区

最近在复习JUC准备面试,看到哔哩哔哩一个视频,讨论了DCL是否需要加volatile,原因是volatile是“山寨版”synchronized,加了synchronized防止了线程乱入问题,即使重排序也不会导致错误。笔者当时觉得非常有道理,最近看了DCL代码,发现了问题!直接上DCL代码!代码: // 单例模式变量一定是 private 修饰private static volatileMgrinstance;public static MgrgetIns...

2021-08-04 15:45:26 161

原创 IO流总结

本人大三在读,近期在寻找一份Java后端实习工作,就个人简历内容涉及到的知识点进一步复习提升,本次总结的是IO流相关内容。说到IO流,我自己最直观的感觉就是API都会,业务逻辑懂,面试什么API都说不上来,朋友问了我几个常见的IO操作,我有个印象,就是不记得了。在idea中,基本上都是对象.方法直接出来了,基本上要做什么看看能点出来的方法名就OK了,所以,我对很多方法都没有记忆过,今天用了一天的时间,总结了IO常用知识点,如有错误,请各位不吝赐教!内容约有15000多字,...

2021-06-25 21:05:51 334 1

原创 手动封装mybatis注解框架

由于学校大作业不允许使用框架,但是,JDBC代码冗余情况严重,每次操作都要频繁经历“6步”才能得到结果,对上层开发人员来说,过于冗余,所以,自己手动封装了mybatis注解框架(PS:由于解析XML文件过于复杂,其中,<if> <foreach>相互嵌套频繁出bug,暂时成功的只有注解式开发框架)水平有限,如有错误,请大家不吝啬指教。首先,我们来看下封住完成的框架大致长什么样:其中,最重要的就是util包了,下面也将重点介绍util包!mybatis最核心的当.

2021-06-22 15:32:02 247 2

空空如也

空空如也

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

TA关注的人

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