haikuotiankongdong
码龄5年
  • 479,003
    被访问
  • 743
    原创
  • 1,194,973
    排名
  • 219
    粉丝
  • 5
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2017-12-30
博客简介:

weixin_41563161的博客

查看详细资料
  • 5
    领奖
    总分 1,649 当月 25
个人成就
  • 获得326次点赞
  • 内容获得121次评论
  • 获得1,865次收藏
创作历程
  • 137篇
    2021年
  • 376篇
    2020年
  • 230篇
    2019年
成就勋章
TA的专栏
  • lambda
    4篇
  • effective java
    22篇
  • 代码整洁之道
    13篇
  • 实习
    28篇
  • 输入输出
    6篇
  • 大厂面经
    13篇
  • 微信推广
    69篇
  • 概率统计
    1篇
  • 大数据
    2篇
  • 书
    1篇
  • cafka
    2篇
  • fastjson
    10篇
  • Springboot
    1篇
  • 智力题
    2篇
  • java项目
    5篇
  • go
    1篇
  • 加密解密
    3篇
  • TIDB
    1篇
  • docker
  • 代码实战
    2篇
  • 设计模式
    27篇
  • c#
    1篇
  • LeetCode
    33篇
  • 面试常考
    33篇
  • 剑指offer
    67篇
  • java并发
    35篇
  • jvm
    19篇
  • 数据结构
    27篇
  • java基础
    102篇
  • 数据库
    43篇
  • Spring
    9篇
  • 工作常问题
    17篇
  • maven
    6篇
  • 操作系统
    18篇
  • 计算机网络
    43篇
  • activiti
    2篇
  • springmvc
    4篇
  • mybatis
    4篇
  • tomcat
    3篇
  • redis
    18篇
  • Linux
    16篇
  • vue
    2篇
  • git
    10篇
  • python
  • 算法
    10篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

文件的最长绝对路径

题目假设文件系统如下图所示:这里将 dir 作为根目录中的唯一目录。dir 包含两个子目录 subdir1 和 subdir2 。subdir1 包含文件 file1.ext 和子目录 subsubdir1;subdir2 包含子目录 subsubdir2,该子目录下包含文件 file2.ext 。在文本格式中,如下所示(⟶表示制表符):dir⟶ subdir1⟶ ⟶ file1.ext⟶ ⟶ subsubdir1⟶ subdir2⟶ ⟶ subsubdir2⟶ ⟶ ⟶ file2.e
原创
发布博客 2021.09.19 ·
204 阅读 ·
0 点赞 ·
0 评论

罗马数字与整数相互转

1.罗马数字转整数1.1题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 X
原创
发布博客 2021.09.19 ·
109 阅读 ·
0 点赞 ·
0 评论

删除子数组的最大得分

给你一个正整数数组 nums ,请你从中删除一个含有 若干不同元素 的子数组。删除子数组的 得分 就是子数组各元素之 和 。返回 只删除一个 子数组可获得的 最大得分 。如果数组 b 是数组 a 的一个连续子序列,即如果它等于 a[l],a[l+1],…,a[r] ,那么它就是 a 的一个子数组。示例 1:输入:nums = [4,2,4,5,6]输出:17解释:最优子数组是 [2,4,5,6]示例 2:输入:nums = [5,2,1,2,5,2,1,2,5]输出:8解释:最优子数组是
原创
发布博客 2021.08.29 ·
114 阅读 ·
0 点赞 ·
0 评论

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

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

和为目标值且不重叠的非空子数组的最大数目

题目给你一个数组 nums 和一个整数 target 。请你返回 非空不重叠 子数组的最大数目,且每个子数组中数字和都为 target 。示例 :输入:nums = [1,1,1,1,1], target = 2输出:2解释:总共有 2 个不重叠子数组(加粗数字表示) [1,1,1,1,1] ,它们的和为目标值 2 。示例 2:输入:nums = [-1,3,5,1,4,2,-9], target = 6输出:2解释:总共有 3 个子数组和为 6 。([5,1], [4,2], [3
原创
发布博客 2021.08.29 ·
61 阅读 ·
0 点赞 ·
0 评论

设计模式六大原则

1.开放封闭原则一个软件实体应当对扩展开放,则修改关闭。因此在设计一个模块时,应当使得这个模块可以在不被修改的前提下被扩展。一个软件产品在生命周期内,都会发生变化,既然变化是一个既定的事实,我们就应该在设计的时候尽量适应这些变化,以提高项目的稳定性和灵活性。设计的目的便在于:面对需求的改变而保持系统的相对稳定,从而使得系统可以很容易的从一个版本升级到另一个版本。开放封闭原则的实现开闭原则其实在大话设计模式中说得非常好,让人通俗易懂。它举了一个例子,我觉得说得非常好。是加减乘除法的例子。开始需求是做一
原创
发布博客 2021.08.21 ·
71 阅读 ·
0 点赞 ·
0 评论

Deque(Stack类已经过时)

官方api地址https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html1、基础概念Deque是一个线性collection,名称 Deque是“double ended queue(双端队列)”的缩写,继承自Queue接口,支持在两端插入和移除元素。Deque的实现类是LinkedList、ArrayDeque、LinkedBlockingDeque,其中LinkedList是最常用的。2、Deque、有三种用途:(1)普通队
原创
发布博客 2021.08.14 ·
174 阅读 ·
1 点赞 ·
0 评论

分割数组的最大值410

题目描述:给定一个非负整数数组 nums 和一个整数 m ,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。示例 1:输入:nums = [7,2,5,10,8], m = 2输出:18解释:一共有四种方法将 nums 分割为 2 个子数组。 其中最好的方式是将其分为 [7,2,5] 和 [10,8] 。因为此时这两个子数组各自的和的最大值为18,在所有情况中最小。示例 2:输入:nums = [1,2,3,4,5], m = 2输出:
原创
发布博客 2021.08.03 ·
64 阅读 ·
0 点赞 ·
0 评论

分隔数组以得到最大和

题目描述:给出整数数组 A,将该数组分隔为长度最多为 K 的几个(连续)子数组。分隔完成后,每个子数组的中的值都会变为该子数组中的最大值。返回给定数组完成分隔后的最大和。示例:输入:A = [1,15,7,9,2,5,10], K = 3输出:84解释:A 变为 [15,15,15,9,10,10,10]提示:1 <= K <= A.length <= 5000 <= A[i] <= 10^6代码/* * Copyright (c) Huawei Tec
原创
发布博客 2021.08.03 ·
90 阅读 ·
0 点赞 ·
0 评论

最大矩形(求直方图围成的最大矩形面积)

给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。思路其实这道题只是(求直方图围成的最大矩形面积)的升级版本如下图求直方图围成的最大矩形面积的解法就是遍历每一个然后向左向右寻找,这道题可以把每一层来类比操作链接https://blog.csdn.net/weixin_41563161/article/details/109023051?ops_request_misc=%257B%2522request%255Fid%252
原创
发布博客 2021.07.21 ·
196 阅读 ·
0 点赞 ·
0 评论

《Effective Java》阅读笔记 18接口优于抽象类

接口和抽象类抽象类允许某些方法的实现,但是接口不允许(JDK 1.8 已经运行了)现有类必须成为抽象类的子类,但是只能单继承,接口可以多继承抽象类小优势抽象类并非一无是处,它的改变就比接口要简易的多,实际使用时也是体验很好的一种设计方法,不过抽象类的使用也要有所衡量,只有在确实是属于一个类别的类时才好去使用抽象类,否则就违背了我们的编程原则接口优点现有类可以很容易被更新,以实现新的接口只需要在接口中添加方法就可以了接口是定义 mixin (混合类型)的理想选择mixin:类除了
原创
发布博客 2021.05.21 ·
84 阅读 ·
0 点赞 ·
2 评论

《Effective Java》阅读笔记 17要么为继承而设计,并提供文档,要么就禁止继承

面向对象编程,从一开始被洗脑难免在上手写代码时都会首先思考有没有公共方法啊,能不能把两个类抽象成一个父类再继承啊等,慎重使用继承,当要使用继承时一定要在文档注释中写明重写这个方法会给其他方法带来什么影响。书中给出建议如果类并不是为了继承而生,那么这个类应该用final修饰禁止子类化。1.继承的缺陷对于为了继承而设计的类,唯一的测试方法就是编写子类。为了继承,类还必须遵守其他一些约束。构造器绝不能调用可被覆盖的方法,无论是直接调用还是间接调用。无论是clone还是readObject,都不可以调用可
原创
发布博客 2021.05.21 ·
51 阅读 ·
0 点赞 ·
0 评论

一篇让你熟练掌握Java常用工具包(全网最全)

Apache Commons类库在日常工作中,我们经常要使用到一些开源工具包,比如String,Date等等。有时候我们并不清楚有这些工具类的存在,造成在开发过程中重新实现导致时间浪费,且开发的代码质量不佳。而apache其实已经提供了系列的工具包给我们使用,只是大多数人,平时没有注意到。这个系列我将带领大家熟悉这些常用的工具包,让大家熟悉Apache都给我们提供了那些常用的工具类和方法……工具名称作用BeanUtils对Java Bean进行各种操作,复制对象,属性Code
原创
发布博客 2021.05.20 ·
847 阅读 ·
3 点赞 ·
4 评论

《Effective Java》阅读笔记 15使可变性最小化

1.不可变类的优势不可变类只是其实例不能被修改的类。不可变的类比可变类更加易于设计、实现和使用。它们不容易出错,且更加安全。Java 平台类库包含许多不可变的类,包括 String 类、基本类型包装类以及 BigInteger 类和 BigDecimal 类。 有很多很好的理由:不可变类比可变类更易于设计,实现和使用。 他们不容易出错,并且更安全。2.如何设计不可变类1.不要提供任何会修改对象状态的方法。2.保证类不会被扩展。3.使所有的域都是 final 的。4.使所有的域都是私有的。5.
原创
发布博客 2021.05.19 ·
67 阅读 ·
0 点赞 ·
2 评论

《代码整洁之道》阅读笔记 13并发(编写整洁的并发代码建议)

“对象是过程的抽象,线程时调度的抽象。”——James O Coplien1.为什么要并发1.并发是一种解耦策略,它帮助我们把做什么(目的)和何时做(时机)分解开2.相对于单线程的目的和时机的紧密耦合,解耦目的与时机能明显地改进应用程序的吞吐量和结构3.单线程程序许多时间花在等待web套接字I/O结束上面,通过采用同时访问多个站点的多线程算法,就能改进性能4.同时也存在一些副作用并发总能改进性能:只在多个线程或处理器之间能分享大量等待时间的时候管用编写并发程序无需修改设计:可能与单线程系统
原创
发布博客 2021.05.10 ·
84 阅读 ·
0 点赞 ·
0 评论

《代码整洁之道》阅读笔记 12迭进

系统的迭代式演进1.通过迭进设计达到整洁目的运行所有测试不可重复表达程序员的意图尽可能减少类和方法的数量以上规则按其重要程序排列2.简单设计原则1:运行所有测试设计必须制造出如预期一般工作的系统,这是首要因素全面测试并持续通过所有测试的系统,就是可测试的系统,不可验证的系统,绝不应该部署上线只要系统可测试,就会导向保持类短小且目的单一的设计方案紧耦合的代码难以编写测试遵循有关编写测试并持续运行测试的简单、明确的规则,系统就会更贴近OO低耦合度、高内聚度的目标,编写测试引致更好
原创
发布博客 2021.05.08 ·
93 阅读 ·
0 点赞 ·
0 评论

N叉树的最大宽度

这里的思路是N叉树的层序遍历(递归法)/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node() {} public Node(int _val,List<Node> _children) { val = _val; children = _children; }
原创
发布博客 2021.05.08 ·
230 阅读 ·
2 点赞 ·
3 评论

计算器

题目描述给定一个字符串形式的计算表达式,其中只包含数字和加+、减-、乘*、除/四种运算符,乘除计算优先级高于加减。请对该计算表达式求值,并返回计算结果。如果在计算过程中遇到除零,则返回字符串error。解答要求时间限制: 1000ms, 内存限制: 64MB输入输出输入一个字符串形式的计算表达式,长度范围:[1,100]用例保证,输入数字和中间及最终计算结果的值都是整数,且在int型范围内。输出一个10进制整数; 或字符串error样例输入样例11+2*3-100/2输出样例1
原创
发布博客 2021.05.08 ·
188 阅读 ·
0 点赞 ·
0 评论

手写内存块

题目描述请实现一个简易内存池,根据请求命令完成内存分配和释放。内存池支持两种操作命令,REQUEST和RELEASE,其格式为:REQUEST=请求的内存大小 表示请求分配指定大小内存,如果分配成功,返回分配到的内存首地址;如果内存不足,或指定的大小为0,则输出error。RELEASE=释放的内存首地址 表示释放掉之前分配的内存,释放成功无需输出,如果释放不存在的首地址则输出error。注意:1.内存池总大小为100字节。2.内存池地址分配必须是连续内存,并优先从低地址分配。3.内存释放后
原创
发布博客 2021.05.08 ·
718 阅读 ·
1 点赞 ·
0 评论

手写DHCP服务器(实现简单的DHCP服务器)

题目描述DHCP服务器的功能是为每一个MAC地址分配唯一的IP地址。现假设:分配的IP地址范围从 192.168.0.0 到 192.168.0.255 总共256个可用地址(以点分十进制表示)。请实现一个简易的DHCP服务器,功能如下:分配Request:根据输入的MAC地址分配IP地址池中的IP地址:如果对应的IP已分配并未释放,则为重复申请,直接返回对应已分配的IP地址。如果一个MAC地址已申请过并已释放,即:当前未分配IP地址,则为再申请,优先分配最近一次曾经为其分配过的IP地址,请返回此地
原创
发布博客 2021.05.08 ·
828 阅读 ·
1 点赞 ·
0 评论
加载更多