- 博客(23)
- 收藏
- 关注
原创 青瓷:伪君子的商道
一部老电视剧了,但是话题比较冷门,所以看过的人估计不多,讲述的是关于雅贿的话题。王志文和张国立的演绎更让这部剧上了一个档次,非常值得一看。
2022-07-08 09:32:41
522
原创 必会算法:反转链表Ⅱ
阅读本文前,请务必先阅读”必会算法:反转链表Ⅰ“##题目上一篇文章咱们解决了如何反转整个链表的问题那么如何反转一个链表的一部分节点呢?##解题思路比如我们要反转下边这个链表的3~7范围的节点我们可以把这个链表分成三个部分了其中1~2和8是不需要做任何操作的只有3~7部分的链表需要被反转,而整个链表的反转我们已经知道怎么做了反转3~7部分的链表之后,只需要让2->7、3->8就能解决这个题目了在这个过程中,只需要记录几个关键的节点就行了即:第一部分链表的起始节
2021-11-20 11:47:40
2767
原创 必会算法:反转链表Ⅰ
##题目给定一个链表head,要求反转这个链表链表节点定义如下package com.dai.common;public class Node { public Integer value; public Node next; public Node() { } public Node(Integer value) { this.value = value; } public Node(Integer value, N.
2021-11-19 16:13:27
6280
原创 算法题:实现最大(小)栈
##题目实现一个最大(小)栈,即可随时拿出当前栈中最大(小)的元素##解题思路这是一道非常经典的面试题,目题目也不难,但还是很能考察开发人员的基本功的,所以面试官很容易脱口就问到这个题这道题目的要求其实就是实现一个特殊的栈这个栈能够随时拿到栈中所有元素的最大(小)值这就是题目所有的要求了所以在已有栈的基础上稍加改进就能实现比较简单的办法就是使用两个栈来实现这个特殊的栈其中一个栈stack正常进出元素另外一个栈stackMax(stackMin)在进元素的时候,与栈顶的元素做一个比较.
2021-11-18 10:28:25
267
原创 算法题:切木头
## 问题1有这么一组木头(用数组int[]表示),木头长度>=1且长短不一木头只能切短、不能拼接给定一个要求的木头长度len和一组木头woods,要求将woods切成长度均为len的木头,请问最多能切出多少根?### 解题思路题目不难,因为只能切短不能拼接,所以直接循环遍历woods,分别将每根木头切成要求的长度叠加每根木头能切出的要求长度木头的数量,即可求解### 代码实现public static Integer cutWoods2SpecifyLen(i.
2021-11-17 11:01:44
1422
原创 影视列表(20211117更新)
微信搜索公众号“你好戴先生”,回复影视作品名,交(huo)流(qu)探(zi)讨(yuan)**※**求资源的请务必先关注公众号,否则即便找到了资源也无法主动联系你查看推荐电影->看看电影本次更新:尚气与十环传说毒液2青瓷教父1教父2教父3东北警察故事电影列表:D-电锯惊魂9东方快车谋杀案大明王朝东北警察故事毒液2F-放逐复仇者联盟4G-鬼子来了H-黑寡妇J-金刚王
2021-11-17 10:54:16
3831
原创 【刷题工具】idea安装leetcode editor插件及配置使用
leetcode plugin一款刷题必备插件成功绑定自己的帐号之后就可以在这里提交的代码啦而且提交信息,都可以在力扣的官方网站上看到还有代码提示并且根据网站上的标签,这里的题目也做好了分类leetcode plugin一款刷题必备插件成功绑定自己的帐号之后就可以在这里提交的代码啦而且提交信息,都可以在力扣的官方网站上看到还有代码提示并且根据网站上的标签,这里的题目也做好了分类1.安装通过file-setting-plugins-marketplace打开idea的插件市场搜索
2021-02-19 10:56:58
2254
原创 【设计模式系列(三)】彻底搞懂原型模式
文章中涉及到的代码,可到这里来拿:https://gitee.com/daijiyong/DesignPattern原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能调用者不需要知道任何创建细节,不调用构造函数属于创建型模式说白了就是克隆,其核心就是拷贝模型,减少拷贝对象的复杂度,提高性能和可维护性举个栗子,有这么一个类public class ExamPaper { private String examinationPaperId;//试卷主键.
2020-07-29 17:46:16
275
原创 【设计模式系列(二)】彻底搞懂单例模式
文章中涉及到的代码,可到这里来拿:https://gitee.com/daijiyong/DesignPattern概念:单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点关键点是:单例类中有一个静态的变量,私有化构造方法,提供唯一全局调用方法,并选择一个时机进行初始化属于创建型模式它主要是为了解决:一个全局使用的类频繁地创建与销毁所造成的资源开销单例模式比较简单,最复杂的地方在于如何保证多线程、序列化等情况下仍然保证单例实例的唯.
2020-07-29 10:59:43
156
原创 【设计模式系列(一)】彻底搞懂工厂模式
文章中涉及到的代码,可到这里来拿:https://gitee.com/daijiyong/DesignPattern1.简单工厂模式属于创建型模式是指由一个工厂对象决定创建出哪一种产品类的实例优点:只需要传入一个正确的参数,就可以获取你所需要的对象类比一个生活场景你到超市,只要你能准确说出你要买的东西是什么售货员就能帮你找到并卖给你你不需要关心他是怎么找到的、从哪进的货、怎么制造的简单工厂模式适用于工厂类负责创建的对象较少,且基本不会变化如果工厂类需要创建的产品频繁更新势必要经常更改
2020-07-27 11:29:15
179
原创 通过简单代码示例了解七大软件设计原则
代码设计原则是我们平时编码时候的代码规范建议良好的代码设计可以很大程度降低维护和功能扩展的成本代价但是代码设计原则应该是我们尽量遵循和考虑的规范并不是一定要求所有代码都遵循设计原则我们要考虑人力、时间、成本、质量,不是刻意追求完美要在适当的场景遵循设计原则帮助我们设计出更加优雅的代码结构有些原则之间是相辅相成的有些可能会有一些冲突的地方就像我们代码的注释或者开发文档某种程度上是会影响开发的进度和效率的但是对于代码维护和日后的更新这简直是上帝的恩赐本文档设计源码地址:https:/
2020-07-05 11:53:13
342
原创 记一次web系统漏洞整改过程(nginx+Tomcat)
1. 漏洞问题系统部署采用的是tomcat容器,使用nginx做的转发和处理这次漏洞整改主要包括两个问题,其他都是升级jar包版本或进行一些系统设置就能完成限制IP访问,配置只有特定的域名才能访问设置Https 协议请求2. 解决办法2.1 Nginx+Tomcat配置的方式目的就是禁止ip方式访问应用系统只能使用特定的域名访问特定的端口应用找到tomcat的conf/server.xml中的标签默认是在148行内容如下 <Host name="local
2020-06-30 17:48:02
766
原创 各位相加,直到得到一个一位的整数
小样儿,是不是以为题目哩我写错别字了?1. 题目给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数1.1 举个栗子输入:num=38输出:2解释:过程如下:3 + 8 = 11, 1 + 1 = 2. 因为 2 只有一个数字,返回 2输入:num=9输出:9解释:9<10,返回 9.1.2 挑战你可以不用任何的循环或者递归算法,在 O(1) 的时间内解决这个问题么?2. 解法1思路就是题目的要求两层循环外层循环判断num的结果是不
2020-06-28 11:03:08
973
原创 图解:基于B+树索引结构,MySQL可以这么优化
首先通过索引可以很大程度的提高检索效率,这个就不解释了关于B+树的相关知识和应用可以点击传送门图解:深入理解MySQL索引底层数据结构与算法图解:什么是B-树、B+树、B*树1. 索引失效的情况字符串索引字段必须加单引号,不然索引失效在索引字段上使用任何操作(计算、函数、类型转换等),都导致走全表扫描where查询条件中使用不等于、大于、小于等操作,会导致索引失效少用or,用它来连接时,可能会导致索引失效is null 和is not null也会无法使用索引li
2020-06-27 14:06:26
286
原创 图解:深入理解MySQL索引底层数据结构与算法
MySQL数据库是我们最常用的关系型数据库之一也是初学者最喜欢选择数据库易知,MySQL底层索引是用B+树实现的传送门:图解:什么是B-树、B+树、B*树下面就具体说说MySQL索引底层数据结构与算法实现1.索引是什么索引(Index)是帮助MySQL高效获取数据的数据结构,相当于数据的目录2. MySQL的两种搜索引擎分别是MyISAM搜索引擎和InnoDB搜索引擎我们经常用到的是InnoDB搜索引擎2.1 MyISAM搜索引擎MyISAM引擎使用B+Tree作为索引结构叶节点的
2020-06-26 16:24:33
313
原创 图解:什么是B-树、B+树、B*树
文章目录1.二叉搜索树在说B树之前,我们需要先了解一下二叉搜索树二叉搜索树,顾名思义,是用来搜索的有序树它具有以下特点:1.所有非叶子结点至多拥有两个儿子(Left和Right);2.所有结点存储一个关键字;3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树。下边这个就是一棵二叉搜索树1.1 二叉搜索树的查找二叉搜索树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中否则,如果查询关键字比结点关键字小,就进入左儿子如果比结点关键字大,就进
2020-06-26 08:48:09
1635
原创 一篇文章彻底搞懂Java虚拟机垃圾回收(GC)机制
1.jvm体系结构概览栈内存(Stack):每个线程私有的堆内存(Heap):所有线程公用的方法区(Method Area):有点像以前常说的“进程代码段”,这里面存放了每个加载类的反射信息、类函数的代码、编译时常量等信息本地方法栈(Native Method Stack):主要用于JNI中的原生代码,平时很少涉及2.垃圾回收对象垃圾回收一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能作用区域包括方法区和堆内存区JVM的垃圾回收主要指
2020-06-24 09:11:07
608
1
原创 【MySql】记一次千万级数据处理的优化过程
需求从mongodb数据库的A表(或者叫集合)读取数据经过处理后导入MySQL的B表中其中A表有近2000万条的数据需要对每条数据进行分析处理,分析处理过程就不细说了每条A表数据分析处理后可提取生成数条B表数据B表数据的字段中有school、speciality和post三个字段,和一个字段number导入B表中的数据需要通过这三个字段联合去重,并统计重复的条数number最终将生成的B表数据以及频率字段number存储到MySQL数据库中需求不复杂解决过程思路逐步读取那2000
2020-06-20 15:45:06
599
原创 曹操哪里跑!--Java语言实现数字华容道游戏
最近这段时间《最强大脑》又开播了但是怎么却少了经典的数字华容道游戏心血来潮,想着手写一个解数字华容道游戏的程序但是想解题得先有个题,就先实现了一个数字华容道基本思路使用一维数组表示数字华容道的游戏内容 根据用户的输入值m,随机生成一个大小为m*m大小的一维数组 一维数组内容的大小为0到m-1,其中0代表空格 考虑到随机生成的数组内容可能存在无解的情况 我是先生成了一个有序的数组,0在最后一位 然后随机移动300次,并保证生成的一维数组不是有序的&n
2020-06-16 22:34:09
1806
原创 无重复字符的最长子串
1.题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。.
2020-06-16 22:29:02
14856
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人