自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【java】牛客BM4.合并两个排序的链表 BM5. 合并k个已排序的链表

合并两个排序的链表 合并k个已排序的链表

2023-02-10 10:54:03 146

原创 java反转链表

给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。链表的反转中,我们可以用到栈先进后出的特点,将原链表中的结点按顺序放入栈中,之后将栈中的元素取出,连接成链表。要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)。经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。我们在原链表中更改结点之间的指向,即可完成对链表的反转。数据范围: 0

2022-11-13 10:09:38 566

原创 计算机网络(一)

答:服务器第一次收到客户端的SYN之后,就会处于SYN_RECD状态,此时双方还没有完全建立连接。服务器会把这种状态下的请求连接放在一个队列里,我们把这种队列称之为半连接队列。当然还有一个全连接队列,就是已经完成三次握手,建立起来连接的就会放在全连接队列中,如果队列满了就有可能出现丢包现象。

2022-10-19 22:49:17 207

原创 java基础相关(一)

接口只有定义,不能有方法的实现,java 1.8中可以定义default方法体,而抽象类可以有定义与实现,方法可在抽象类中实现。抽象是对类的抽象,是一种模板设计,抽象类是is a 的关系。抽象类不能被实例化,抽象类的子类必须实现所有的抽象方法才能被实例化;子类继承抽象类之后,必须重写抽象类所有的抽象方法,否则子类必须设置为抽象类。抽象类中可以没有抽象方法,但抽象方法必须在抽象类中;继承了抽象类的子类,要么对父类的抽象方法进行重写,要么自己也是抽象类。抽象类中的抽象方法只被声明,没有方法体;

2022-09-26 10:02:01 274

原创 数据库相关内容(一)

最近面试,关于数据库的一些高频问题。

2022-09-26 09:55:14 248

原创 测试相关内容(一)

无效等价类是指对程序的规格说明是不合理的或无意义的输入数据所构成的集合,它能检验程序在不符合规则的数据输入下,是否会有异常;3.正交试验法:是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验,根据正交表的正交性从全面试验中挑选适量的、有代表性的点进行试验,这些有代表性的点具备了“均匀分散,整齐可比”的特点,用例设计只讨论各因素是相互独立的正交试验法。W模型中开发活动都是串行的,开发和测试也是一种线性的关系——只有开发活动完成了才能进行测试活动。

2022-09-18 21:20:16 184

原创 【java】牛客BM31. 对称的二叉树

给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)

2022-06-14 15:21:51 84

原创 【java】leetcode278. 第一个错误的版本

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。...

2022-06-12 16:40:41 72

原创 【java】牛客BM19. 寻找峰值

给定一个长度为n的数组nums,请你找到峰值并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个所在位置即可。1.峰值元素是指其值严格大于左右相邻值的元素。严格大于即不能有等于2.假设 nums[-1] = nums[n] = -\infty−∞3.对于所有有效的 i 都有 nums[i] != nums[i + 1]4.你可以使用O(logN)的时间复杂度实现此问题吗?...

2022-06-12 15:22:23 394

原创 【java】牛客BM18. 二维数组中的查找

在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target = 7,返回 true。给定 target = 3,返回 false。数据范围:矩阵的长宽满足 0 \le n,m \le 5000≤n,m≤500 , 矩阵中的值满足 0 \.

2022-06-10 15:18:53 106

原创 【java】牛客BM1.反转链表

给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。数据范围: 0\leq n\leq10000≤n≤1000要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。...

2022-06-10 11:40:06 131

原创 【java】leetcode914.卡牌分组

给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有X张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回true。...

2022-06-08 15:45:13 98

原创 【计算机网络】TCP协议

这里写目录标题TCP协议TCP协议是什么TCP协议的特点TCP协议实现机制TCP如何实现进程到进程TCP如何实现可靠性超时重传延时应答TCP协议TCP协议是什么传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 定义。TCP应用层次是传输层。TCP协议的特点应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据

2022-05-19 15:46:22 648

原创 【Java】计算机网络基础

冯诺依曼体系简述构成程序广义数据在内存中的存储非数类型的数据在内存中的存储数类型的数据在内存中的存储CPUCPUALUPCCUCPU的中断模式冯诺依曼体系简述从1951年第一台电子计算机EDVAC开始,计算机经历了多次的更新换代,不管是最原始的、还是最先进的计算机,使用的仍然是冯·诺依曼最初设计的计算机体系结构。他设计的计算机系统结构,称为“冯诺依曼体系结构”冯诺依曼是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。采用二进制作为计算机数值计算的基础,以0、1代表数值。不采用人类常用的.

2022-04-19 22:37:25 177

原创 【java】选择题3

选择题1.关于包的说法, 下列错误的是:( )题目内容:A .包是一组类的集合B .包能防止类的名字冲突C .import 语句能够导入一个指定的包D .import static 能够导入一些静态方法答案:C2.A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明:A a0=new A();A a1=new B();A a2=new C();问以下哪个说法是正确的?()题目内容:A .只有第一行能通过编译B .第1、2行能通过编译

2022-04-11 15:14:40 1580

原创 【java】leetcode234. 回文链表

leetcode234. 回文链表:问题描述解题思路:先通过双指针中的快慢指针来找到链表的中点如果fast指针没有指向null,说明链表长度为奇数,slow还要再前进一步从slow开始反转后面的链表,现在开始比较回文串实现代码:class Solution { public boolean isPalindrome(ListNode head) { ListNode slow,fast; slow=fast=head; while(

2022-04-03 15:45:37 71

原创 【java】leetcode1004. 最大连续1的个数 III;2024. 考试的最大困扰度

1004. 最大连续1的个数 III给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数一位老师正在出一场由 n道判断题构成的考试,每道题的答案为 true (用 'T' 表示)或者 false (用 'F'表示)。老师想增加学生对自己做出答案的不确定性,方法是最大化有 连续相同结果的题数。(也就是连续出现 true 或者连续出现 false)

2022-04-03 15:41:20 877

原创 【java】leetcode206. 反转链表

问题描述leetcode106. 反转链表题目分析:对于递归算法,最重要的就是明确递归函数的定义。具体来说,我们的 reverseList 函数定义是这样的:输入一个节点 head,将以 head 为起点的链表反转,并返回反转之后的头结点。明白了函数的定义,再来看这个问题。比如说我们想反转这个链表:那么输入 reverse(head) 后,会在进行递归:ListNode last = reverseList(head.next);接下来:head.next = null;ret

2022-04-01 19:56:57 449

原创 【java】剑指 Offer 36. 二叉搜索树与双向链表

剑指 Offer 36. 二叉搜索树与双向链表

2022-04-01 16:04:41 821

原创 【java】leetcode205.同构字符串;290.单词规律

由于205与290题解题思路较为相似,因此总结在一起leetcode205.同构字符串:问题描述解题思路:205.同构字符串是290. 单词规律的简化版,我们可以通过判断 s 和 t 每个位置上的字符是否都一一对应,即 s 的任意一个字符被 t 中唯一的字符对应,同时 t 的任意一个字符被 s 中唯一的字符对应。这也被称为「双射」的关系。我们创建两张哈希表,第一张哈希表 s2t 以 s 中字符为键,映射至 t 的字符为值,第二张哈希表 t2s 以 t 中字符为键,映射至 s 的字符为值。

2022-03-30 16:34:07 347

原创 【java】选择题2

选择题1.下面哪一项不是 java 类访问控制关键字A.publicB.thisC.privateD.protected答案:Bjava 类访问控制关键字有:public,private,protected,default,不管使用何种修饰符,在本类中都可以访问。使用 public 修饰符,在所有的地方都可以访问,除非 Package 不可见。使用 private 修饰符,只能在本类中可以访问。使用 protected 修饰符,能够在本类,相同 package 中,和子类(可以是不同的

2022-03-29 16:59:31 825

原创 【java】leetcode105.从前序和中序遍历序列构造二叉树

问题描述leetcode105.从前序和中序遍历序列构造二叉树题目分析:构造二叉树,第一件事一定是找根节点,然后想办法构造左右子树。将inorder[]对应关系存入HashMap中,已知preorder[]的第一个元素是二叉树的根节点,那么可根此将inorder[]分为三部分:之后将root.left也可分为三部分,root.right也可分为三部分,通过递归可使问题得到最终解决。代码实现:class Solution { HashMap<Integer,Integer&gt

2022-03-29 15:50:08 789

原创 【java】剑指offer55.平衡二叉树

问题描述力扣101.对称二叉树题目分析:代码实现:

2022-03-27 15:16:50 567

原创 【java】leetcode690.员工的重要性

最近写力扣的题,想把自己的思路记录下来:问题描述力扣690.员工的重要性题目分析:我采用的方法是使用map将员工的id和员工对应起来,当输入要查找的id时,对于找到其下属,再将其重要度相加,直至员工无下属为止。代码实现:/*// Definition for Employee.class Employee { public int id; public int importance; public List<Integer> subordinate

2022-03-26 09:04:19 570

原创 java排序算法

Java排序算法排序算法一、冒泡排序(Bubble Sort)1.原理2.代码实现二、快速排序(Quick Sort)1.原理2.代码实现三、选择排序(Selection Sort)1.原理2.代码实现四、插入排序(Insertion Sort)1.原理2.代码实现五、希尔排序(Shell Sort)1.原理2.实现代码排序算法对一序列对象根据某个关键字进行排序一、冒泡排序(Bubble Sort)1.原理1.比较相邻的元素,如果第一个比第二个大,就交换他们两个;2.对每一对相邻元素做同样的

2022-03-25 15:21:44 813 1

原创 Iterable、Collection、List 的常见方法签名以及含义

文章目录前言一、Iterable二、Collection常见方法三、List前言Iterable、Collection、List 都是接口一、IterableIterable是一个泛型接口 。T是被迭代元素的类型public interface Iterable<T> { Iterator<T> iterator();//抽象类中的抽象方法 default void forEach(Consumer<? super T> action)

2022-01-23 18:59:07 430

原创 Java 给定一个有序整型数组, 实现二分查找

文章目录前言一、代码实现二、测试用例三、运行结果前言一、代码实现public static int binarySearch(int[] array,int key) { int left=0; int right=array.length-1; while(left<right){ int mid=(right-left)/2; if(key==array[mid]) return mid; else if(key>array[mid]){ .

2021-11-23 19:31:26 3820

原创 Java 给定一个整型数组, 实现冒泡排序

文章目录一、代码实现二、测试用例三、运行结果一、代码实现public static void sort(int[] array) { for (int i = 0; i <array.length ; i++) { for (int j = 0; j <array.length-i-1 ; j++) { if(array[j]>array[j+1]){ int temp=array[j]; array[j]=array[j+1];.

2021-11-23 19:25:50 4287

原创 Java实现copyOfRange

文章目录一、copyOfRange二、Java语言实现1.实现copyOfRange2.测试用例3.运行结果总结一、copyOfRangepublic static int[] copyOfRange(int[] original, int from, int to)将指定数组的指定范围复制到新数组中。 范围( from )的初始指数必须在零和original.length之间,包括在内。 original[from]的值被放置在副本的初始元素中(除非from == original.length.

2021-11-22 23:17:00 1619

原创 Java选择题

1.下面属于java基本类型的有( )A.StringB.byteC.charD.Array答案:B、CJava基本类型共有八种,基本类型可以分为三类。字符类型:char布尔类型:boolean数值类型:byte、short、int、long、float、double,数值类型可以分为整数类型byte、short、int、long和浮点数类型float、double。char:16位,存储Unicode码,用单引号赋值。boolean:只有true和false两个取值。byte:8.

2021-11-22 22:43:45 6521 2

原创 C语言扫雷小游戏的实现(附详细代码)

扫雷前言一、所需函数二、实现过程1.算法分析2.详细代码三、总结前言扫雷是一款很经典的电脑小游戏,扫雷就是要把所有非地雷的格子找出即为胜利,输入到地雷格子就算失败。游戏主区域由很多个方格组成,输入一个方格坐标,方格即被打开并显示出方格中的数字,方格中数字则表示其周围的8个方格隐藏了几颗雷,如果点开的格子为0,即代表其周围有0颗雷。本篇文章将用VS2013带领大家用C语言编写此款小游戏。一、所需函数1.埋雷函数(SetMines)2.ShowLine3.ShowBoard(2、3函数均为显

2021-06-02 15:41:32 543 3

原创 C语言三子棋(附详细代码)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、所需函数二、函数实现1.基本流程2.代码展示三、总结前言此次我们来进行三子棋的C语言编写。三子棋是在一个在3*3的方格中,将自己的三个棋子连成一条线,即可获胜。一、所需函数1.初始化棋盘函数(InitBoard)2.打印棋盘函数(ShowBoard)3.判断棋子是否连线成功函数(IsEnd)4.玩家落子函数(PlayerMove)5.电脑落子函数(ComputerMove)6.菜单函数(Menu)7.

2021-06-01 23:36:08 955 17

原创 Welcome To My “Hello World“

这就是我: 小时候觉得计算机的相关专业特别酷炫,《我是谁:没有绝对安全的系统》这部电影更使我燃起了对计算机相关课程的兴趣。至于进入计算机相关专业对于我来说是我一直的梦想,幸运的是,我进入了软件工程专业,圆了我这么多年的梦想。虽然现在的我还很弱,对计算机相关技能掌握不足,但是我会从现在开始,在此记录下我的经历历程,与大家共享。我的编程目标:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句如何学习:提示:这里可以添加计划学习的时间例如:1

2021-05-02 14:48:07 287 14

空空如也

空空如也

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

TA关注的人

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