Word码鸭
码龄4年
关注
提问 私信
  • 博客:54,636
    54,636
    总访问量
  • 45
    原创
  • 454,603
    排名
  • 860
    粉丝

个人简介:乐观和爱才是生活的解药

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2021-05-26
博客简介:

Word码鸭的博客

查看详细资料
个人成就
  • 获得328次点赞
  • 内容获得300次评论
  • 获得216次收藏
  • 代码片获得105次分享
创作历程
  • 41篇
    2022年
  • 4篇
    2021年
成就勋章
TA的专栏
  • web
    1篇
  • Java数据结构
    17篇
  • 算法专栏
    6篇
  • Java基础知识总结
    8篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【进程和线程】

进程状态转移图:所有运行状态必须是从就绪状态变过去的,因为进程的CPU必须经过OS系统分配才能得到。在同一时刻,处于不同状态下的进程不止一个。处于新建、就绪、堵塞、结束状态的可以有多个,但单核cpu情况下,同一时刻运行状态的只能有一个。通过上下文切换:保护上一个进程的上下文 + 恢复下一个进程的上下文 上下文:以PC寄存器所代表的一组寄存器中的值。保护上下文:把寄存器中的值,保存到内存的某个位置。 恢复上下文:把内存中之前保护的值,写入寄存器中并行:进程真的同时在执行,既微观角度的同一时刻,是有多个指令在执
原创
发布博客 2022.06.22 ·
741 阅读 ·
2 点赞 ·
2 评论 ·
5 收藏

使用单调栈解题

何为单调栈?栈中元素从栈顶到栈底,要么单调递增排列,要么单调递减排列。如单调递增栈就是从栈顶到栈底的元素值依次增大,下面是几个单调栈的应用。目录1.力扣第496题—下一个更大元素2. 力扣第503题—下一个更大元素II(循环数组)3.力扣第42题——接雨水 4.力扣第456题——132模式下一个更大元素 I这个问题我们实际上只需要观察 nums2 即可,我们倒着从 nums2 的最后一个元素开始,找到 nums2 中的每个元素的下一个最大元素。在遍历的时候,维护一个单调递增的栈,当栈为空时返回-1,表明当前
原创
发布博客 2022.06.21 ·
488 阅读 ·
6 点赞 ·
7 评论 ·
5 收藏

认识计算机

目录冯诺依曼体系认识计算机 数据在内存的存储问题CPU的基本工作原理 电路门算术逻辑单元ALU(Arithmetic & Logic Unit)算术单元 逻辑单元ALU 符号寄存器(Register)控制单元 CU(Control Unit)CPU的中断模式(Interrupt Mode)操作系统OS(Operating System) 操作系统的定位 什么是程序(program),什么是进程(Process)CPU 分配 —— 进程调度/进程管理进程控制块抽象(PCB Process Control Bl
原创
发布博客 2022.06.19 ·
1073 阅读 ·
9 点赞 ·
8 评论 ·
11 收藏

【Lambda表达式】

Lambda表达式引例interface IMessage { void printMessage(String msg);}class MessageImpl implements IMessage{ @Override public void printMessage(String msg) { System.out.println(msg); }}public class LambdaTest { public static v
原创
发布博客 2022.06.12 ·
469 阅读 ·
5 点赞 ·
5 评论 ·
2 收藏

哈希表和HashMap的源码解析

哈希表是一个天然的查找和搜索实际上是通过数组衍生出来的,它高效查找的奥秘就在于数组的随机访问特性。例:假设现有一个数组 arr = [ 9,5,2,7,3,6,8],需要判断 3 这个元素是否存在。这时我们创建一个 boolean 数组,这个数组的长度取决于原数组中最大值是谁。arr中最大值是9,则创建一个长度为10的boolean数组,遍历原数组,出现一个元素,就在该元素值对应于新数组的位置记为true这时要查询原数组是否有3,就直接返回新数组索引为3的值,若为true就代表有,若为f.
原创
发布博客 2022.05.29 ·
279 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java异常】

前言平时写代码时,经常出现编译时一切正常,运行时就出现错误了,例如下面这段代码 public static void main(String[] args) { int[] arr = {1,2,3}; System.out.println(arr[10]); }程序编译时没有报错,而运行时就出现了异常,这就是常见的数组越界异常,由于数组中只有三个元素,索引10是不存在的。我们探讨的异常就是运行时抛出的程序错误,而不是编译时的错误基本语法.
原创
发布博客 2022.05.22 ·
525 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【基础算法题】数组中出现次数超过一半的数字

数组中出现次数超过一半的数字_牛客题霸_牛客网 (nowcoder.com)方法1将数组排序,数组长度的一半的位置一定就是我们要找的数,但是这种方法效率是比较低的代码实现: public int MoreThanHalfNum_Solution(int [] array) { Arrays.sort(array); return array[array.length/2];}方法2使用 map 存储数字及每个字符出
原创
发布博客 2022.04.18 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【java反射详解】

什么是反射定义反射是所有第三方框架的基础,Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到,那么我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。动态获取类信息以及动态调用该对象的属性和方法的功能称之为反射。(此处的动态,指的是运行时获取,javac 生产 class文件,反射就存在于java运行一个主类时)
原创
发布博客 2022.04.16 ·
783 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

【基础算法题】替换空格

题目要求:将一个字符串中的每个空格替换成“%20”。示例:输入:s = "We are happy."输出:"We%20are%20happy."方法一调用String类中的 replaceAll 方法,将所有空格替换成 %20 public String replaceSpace(String s) { String res = s.replaceAll(" ","%20"); return res; }方法二从空格变成 %
原创
发布博客 2022.04.15 ·
192 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【泛型和内部类的关系】

泛型和内部类的关系泛型的通配符引例< ? >上限通配符下限通配符类型擦除
原创
发布博客 2022.04.14 ·
2708 阅读 ·
5 点赞 ·
1 评论 ·
5 收藏

【基础算法题】调整数组顺序使奇数位于偶数前面

1.不要求相对位置2.要求相对位置这里我们可以使用索引 left 指向数组第一个元素,right指向数组最后一个元素,left 向后走,遇到偶数就和 right 交换代码实现:public class Offer21_oddeven { public int[] exchange(int[] nu.
原创
发布博客 2022.04.13 ·
605 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

【基础算法题】旋转数组中的最小数字

旋转数组的最小数字_牛客题霸_牛客网 (nowcoder.com)题目要求:有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。示例:输入:[3,4,5,1,2]返回:1这道题我们可以遍历数组挨个查找最小元素,也可以调用JDK中Arrays的sort方法将数组排序,输出第一个元素,但是这
原创
发布博客 2022.04.11 ·
721 阅读 ·
6 点赞 ·
5 评论 ·
3 收藏

七大排序详解

排序的稳定性七大排序总览测试类代码1.1选择排序1.2双向选择排序2.1插入排序2.2折半插入排序3.冒泡排序4.希尔排序5.堆排序6.归并排序归并排序的两点优化归并排序的非递归写法海量数据的排序处理7. 快速排序快速排序的优化二路快排三路快排挖坑法快排的非递归实现
原创
发布博客 2022.04.09 ·
986 阅读 ·
44 点赞 ·
40 评论 ·
46 收藏

【基础算法题】杨氏矩阵(二维数组)的查找

题目要求:在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。二维数组中的查找_牛客题霸_牛客网 (nowcoder.com)首先我们先了解一下二维数组arr的长度的表示:arr.length //表示一共有多少行arr[ i ].length //表示第 i 行一共有多少列分析:这一题,我们要明白查找的过程,本质就是排除的过程。根..
原创
发布博客 2022.04.04 ·
680 阅读 ·
6 点赞 ·
5 评论 ·
5 收藏

【二分搜索树BST】

在BST中找最小值可以看到,二分搜索时的最小值一直在左树的最左侧,是中序遍历的第一个。也就是不断向左树递归查找,找到的第一个左子树为空的节点一定是最小值。同理,在BST中找最大值,一定在右树的最右侧,就是右树的最大值删除操作删最值...
原创
发布博客 2022.04.03 ·
985 阅读 ·
15 点赞 ·
13 评论 ·
9 收藏

【力扣第138题—复制带随机指针的链表】巧用Map解题

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝,复制这个链表,复制链表中的指针都不应指向原链表中的节点 。返回复制链表的头节点。也就是说,原链表和新链表除了存储的地址不同,其他的对应关系完全一致。示例:输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]本题我们借助M..
原创
发布博客 2022.04.01 ·
868 阅读 ·
13 点赞 ·
10 评论 ·
7 收藏

【堆的应用——topK问题】

topK问题是什么1.力扣面试题17.14号问题——求最小的k个数2.LeetCode 第347问题——前 K 个高频元素3.力扣第373号问题——查找和最小的 K 对数字
原创
发布博客 2022.03.31 ·
1579 阅读 ·
12 点赞 ·
10 评论 ·
8 收藏

【堆和优先级队列】

二叉堆堆的代码实现最大堆代码实现向最大堆中添加一个元素—siftUp操作删除堆顶元素—siftDown操作测试代码方法heapify 堆化优先级队列自定义类型的优先级队列实现Comparator接口——比较器
原创
发布博客 2022.03.29 ·
6598 阅读 ·
14 点赞 ·
14 评论 ·
10 收藏

【二叉树第四弹】— 进阶面试题

1.二叉树的最长直径—力扣第543题2.根据二叉树创建字符串——力扣第606题3.二叉树的构建及遍历—牛客4.根据一棵树的前序遍历与中序遍历构造二叉树—力扣105题5.二叉树的最近公共祖先—力扣236题6.二叉树搜索树转换成排序双向链表—牛客JZ36
原创
发布博客 2022.03.27 ·
1860 阅读 ·
12 点赞 ·
10 评论 ·
6 收藏

【二叉树第三弹】— 使用迭代实现遍历及解题

初识迭代利用迭代解题使用迭代实现层序遍历—力扣102题计算二叉树的节点个数计算叶子节点个数判断是否为对称二叉树—力扣101题判断一棵树是否是完全二叉树—力扣958题求二叉树最大宽度—力扣662题前中后序的迭代实现1.前序遍历—力扣144题2.中序遍历—力扣94题3.后序遍历—力扣145题
原创
发布博客 2022.03.23 ·
2069 阅读 ·
16 点赞 ·
17 评论 ·
11 收藏
加载更多