- 博客(46)
- 收藏
- 关注

原创 初学者专属题单(LeetCode必刷8道题)
力扣(LeetCode)新手专属题单,8到简单的必刷题,虽然简单,但是涉及到许多知识,非常适合刚开始刷题的小伙伴。这里我分享了自己的做法,不对的地方多多指正,希望你能有所收货🙈🙈🙈🙉🙉🙉
2022-04-11 09:26:50
1406
11
原创 进程调度的基本过程
什么是进程/任务(Process/Task)每个应用程序运行于现代操作系统之上时,操作系统会提供一种抽象,好像系统上只有这个程序在运 行,所有的硬件资源都被这个程序在使用。这种假象是通过抽象了一个进程的概念来完成的,进程可以 说是计算机科学中最重要和最成功的概念之一。 进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程; 同时,在操作系统内部,进程又是操作系统进行资源分配的基本单位。CPU 分配 —— 进程调度(Process Scheduling)为了
2022-05-24 19:08:57
944
原创 File 类的用法和 InputStream, OutputStream 的用法
File概述💨我们首先看看file类的常见属性,构造方法和方法。属性修饰符及类型 属性 说明 static String pathSeparator 依赖于系统的路径分隔符,String 类型的表示 static char pathSeparator 依赖于系统的路径分隔符,char 类型的表示 构造方法签名 说明 File(File parent, String child) 根据父目录 + 孩子文件路径,创建一个新的
2022-05-24 17:44:29
424
2
原创 Map与Set面试题(高频)
目录1.只出现一次的数字1.1题目描述1.2思考过程1.3代码2. 复制带随机指针的链表2.1题目描述2.2思考过程2.3代码3.宝石与石头3.1题目描述3.2思考过程3.3代码4.旧键盘打字4.1题目描述4.2思考过程4.3代码5.前K个高频单词5.1题目描述5.2思考过程5.3代码1.只出现一次的数字OJ:oj链接1.1题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出...
2022-04-03 21:10:20
1992
12
原创 二叉树面试题(高频)
目录1. 检查两颗树是否相同1.1题目描述1.2思考过程1.3代码2. 另一颗树的子树2.1题目描述2.2思考过程2.3代码3. 二叉树最大深度3.1题目描述3.2思考过程3.3代码4. 判断一颗二叉树是否是平衡二叉树4.1题目描述4.2思考过程4.3代码5. 对称二叉树5.1题目描述5.2思考过程5.3代码6.二叉树的分层遍历6.1题目描述6.2思考过程6.3代码7.二叉树的构建及遍历7.1题目...
2022-03-22 11:30:50
2853
6
原创 队列面试题(高频)
目录1. 用队列实现栈1.1题目描述1.2分析过程1.3代码2. 用栈实现队列2.1题目描述2.2思考过程2.3代码3. 实现一个最小栈3.1题目描述3.2思考过程3.3代码1. 用队列实现栈OJ链接1.1题目描述请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。 int po
2022-03-21 11:09:48
1066
16
原创 链表面试题2(高频)
链表作为数据结构的重要知识点,通常作为大厂们笔试面试题,这里我写了两篇博客来解决,一共10道题,此篇为后五道题。上篇博客:前五道题目录1. 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 。2.链表的回文结构。3.输入两个链表,找出它们的第一个公共结点。4.给定一个链表,判断链表中是否有环。思路:5.给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 NU1. 编写代码,以给定值x为基准将链表分割成两部分,所有小.
2022-03-16 09:31:13
459
8
原创 链表面试题1(高频)
链表作为数据结构的重要知识点,通常作为大厂们笔试面试题,这里我写了两篇博客来解决,一共10道题,此篇为前五道题。目录1. 删除链表中等于给定值 val 的所有节点。2. 反转一个单链表。3.给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。4. 输入一个链表,输出该链表中倒数第k个结点。5. 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。1. 删除链表中等于给定值 val
2022-03-16 04:00:19
466
6
原创 Iterable、Collection、List 的常见方法签名以及含义
目录1.Iterable1.1iterator()1.2forEach(Consumer action)1.3spliterator()2.Collection2.1int size();2.2boolean isEmpty();2.3boolean contains(Object o)2.4Object[] toArray()、T[] toArray(T[] a)2.5boolean add(E e)2.6boolean addAll(Collectio.
2022-03-13 00:26:03
372
原创 杨辉三角.java
杨辉三角杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合 。代码public static List<List<Integer>> generate(int numRows) { ...
2022-03-13 00:04:36
164
原创 JavaSE学习总结
前言:在学习Java之前,我认真的学完了C语言。现在花了两个月,学习javaSe,才深刻体会到C语言的重要性,C语言就是各个语言的基础,现在觉得他非常重要,学好C,你去接触一门新语言,你会觉得很轻松。作者为初学者,说的不对的地方,欢迎指正。学习目录:目录1.初识java2.数据类型与变量3.运算符4.程序的逻辑控制5.方法的使用6.数组的定义与使用7.类和对象8.继承和多态9.抽象类和接口10.认识String类11.认识异常我从这11个章节吧,差
2022-03-07 16:38:21
1543
2
原创 自定义异常实现登录
题目描述实现一个简单的控制台版用户登陆程序, 程序启动提示用户输入用户名密码. 如果用户名密码出错, 使用自定义异常的方式来处理。class UserNameException extends Exception{ public UserNameException(String message) { super(message); }}class PassWordException extends Exception{ public PassWordEx
2022-03-07 15:12:22
344
原创 图书管理系统Part3(封装,继承,多态,接口的练习)
前言:图书管理系统是我们在学习编程方面常见的小项目,在学习完类和对象,封装,继承,多态和接口之后,我们就可以用这些思想来实现我们的图书管理系统,这里我会用两个博客来阐述具体实现方法。根据前俩个博客我们已经理顺了所有思想逻辑,本篇我们只需完成每个具体操作的编写就成。前两篇博客:我们将所有的操作都放在Operation包里,而且所有的操作,都用了IOperation接口,每个操作类里都有work方法进行实现。1.IOperation接口这个接口很简单,至于要根据他们的特征写一个参数为BookLi
2022-03-01 17:38:06
915
2
原创 图书管理系统Part2(封装,继承,多态,接口的练习)
前言:图书管理系统是我们在学习编程方面常见的小项目,在学习完类和对象,封装,继承,多态和接口之后,我们就可以用这些思想来实现我们的图书管理系统,这里我会用三个博客来阐述具体实现方法。上篇博客:上篇我们根据业务需求,对整体框架和思想进行了阐述,创建好了所有的类,写完了book包里的两个类,这篇,我们主要写User包里的两个类和main类。1.users包usrs包里主要有三个类,User类作为PublicUser类和AdminUser类的父类,我们就可以运用多态的思想进行搭建。1.1Pub
2022-03-01 16:27:01
539
1
原创 图书管理系统Part1(封装,继承,多态,接口的练习)
图书管理系统是我们在学习编程方面常见的小项目,在学习完类和对象,封装,继承,多态和接口之后,我们就可以用这些思想来实现我们的图书管理系统,这里我会用三个博客来阐述具体实现方法。
2022-03-01 03:44:09
751
原创 扫雷(多态的练习)
声明:这几篇博客我都用扫雷为例用来巩固练习我学习的不同知识,这并不是写扫雷的最优方式,只是为了满足自己练习而写。前两篇关于扫雷的链接:1.普通扫雷 2.扫雷plus(等级控制)本篇我是用来练习继承与多态,运用多态的只是对前面代码进行了小修改,如果单纯为了写扫雷可以看前两篇博客。Game类class Game { // 定义12行12列,实际扫雷的区域只有10*10 static int ROW=12; static int COL=12; //..
2022-02-26 21:44:07
285
原创 扫雷Plus(加入等级控制)
声明:这几篇博客我都用扫雷为例用来巩固练习我学习的不同知识,这并不是写扫雷的最优方式,只是为了满足自己练习而写。我们之前的一篇博客,写了扫雷,完成了扫雷的基本原理,扫雷,插旗都实现了,今天我们主要加入了等级控制,首先这是我上篇博客的链接:上篇扫雷链接Game类class Game { // 定义12行12列,实际扫雷的区域只有10*10 static int ROW = 12; static int COL = 12; // 定义雷的个数
2022-02-26 20:31:24
259
原创 java继承
1.继承概念继承(inheritance)机制:是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特 性的基础上进行扩展,增加新功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。继承主要解决的问题是:共性的抽取,实现代码复用。上述图示中,Dog和Cat都继承了Animal类,其中:Animal类称为父类/基类或超类,Dog和Cat可以称为Animal的子类/派生类,继承之后,子类可以复用父类中成员,子类在实现时只需关心自
2022-02-26 20:08:35
237
原创 冒泡排序java
题目描述给定一个整型数组, 实现冒泡排序(升序排序)代码public static void bubbleSort(int[]arr){ for (int i = 0; i < arr.length-1; i++) { boolean flg=false; for (int j = 0; j < arr.length-1-i; j++) { int tmp=0;
2022-02-20 20:17:42
328
原创 判断数组是否有序java
问题描述给定一个整型数组, 判定数组是否有序(递增)代码 public static boolean isSort(int[]arr){ for (int i = 0; i < arr.length; i++) { if (i< arr.length-1&&arr[i] >= arr[i+1]) { return false; } }
2022-02-20 18:41:56
795
原创 java扫雷小游戏(一看就会)
扫雷《扫雷》是一款大众类的益智小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。扫雷在科技历史上也扮演了相似的角色。这个基于数字的逻辑谜题最早来自20世纪六七十年代,当时Jerimac Ratliff推出的名为“Cube”的游戏已经非常受人欢迎。几十年后的1992年,扫雷游戏被加入了Windows3.1,这并不是为了展示Windows是游戏操作系统专家,而是为了训练用户的鼠标左右键操作能力,让这些动作变得非常自然,.
2022-02-19 15:21:18
4702
原创 求数组的平均值
题目内容实现一个方法 avg, 以数组为参数, 求数组中所有元素的平均值(注意方法的返回值类型).代码public static double avg(int []arr){ int count= arr.length; int sum=0; for (int i = 0; i <count ; i++) { sum+=arr[i]; } double ret=(double)sum/
2022-02-19 08:11:09
5806
原创 求n个阶乘的和.java
代码 public static int fac(int n){ int ret=1; for (int i = 1; i <= n; i++) { ret*=i; } return ret; } public static int facAdd(int n){ int ret=1; for (int i = 1; i <= n; i++) {
2022-02-18 09:07:15
301
原创 求n的阶乘.java
代码public static int fac(int n){ int ret=1; for (int i = 1; i <= n; i++) { ret*=i; } return ret; } public static void main(String[] args) { int n=6; int ret=fac(n); System.out
2022-02-18 08:57:57
88
原创 迭代实现打印斐波那契数列.java
斐波那切数列首先我们要明白什么是菲波那切数列斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1,F(n)=F(n - 1)+F(n - 2)(n≥ 2,n∈ N*)代码 public static void pri...
2022-02-18 08:42:51
341
原创 打印0-999水仙花数java
水仙花数是指一个三位数,其各位数字的立方和等于该数字本身,如:153=1^3+5^3+3^3。首先做一个循环取出0-999的数字,然后取出数字每位的数分别保存,加上条件用if判断,满足条件就输出数字。代码public static void main(String[] args) { for (int i = 0; i < 999; i++) { int x=i%10; int y=(i/10)%10;
2022-01-28 06:34:28
7380
原创 99乘法表java
运用双层循环就行代码 public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= 9; j++) { if(j<=i) { int ret=i*j; System.out.printf("%d*%d=%d
2022-01-28 05:16:57
489
原创 猜数字小游戏Java
生成随机值 Random random=new Random();//默认随机种子是系统时间 int num=random.nextInt(100);比较输入一个1-100的数字,如果n>num则说明猜大了,如果n<num则说明猜小了,否则就是猜对了。while(true){ System.out.print("Please enter a number(1-100):"); int n= sc.nextInt();
2022-01-28 04:58:57
3077
原创 模拟账号登陆java
题目内容编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序代码首先给定账号和密码String account="zouyi"; String password="jia123hui";然后开始输入,首先输入账号,然后用equals()方法比较,如果对了,进入循环输入密码,如果错了,提示输入错误,重新输入。while(true) { System.out.pr
2022-01-28 04:18:30
463
原创 打印 X 图形java
首先输入你要打印x图形斜边的长Scanner sc=new Scanner(System.in); int n=sc.nextInt();然后先打印上半部分for (int i =0 ; i < n/2; i++) { for (int j = 0; j < n; j++) { if(j==n-i-1||j==i) { System.out.print('*');
2022-01-28 04:03:29
285
原创 HelloWorld.java
IDEA写的helloworld 记事本写的 这里与要注意的是用记事本写完一定要记得保存,否则你javac没问题但就是不出现字节码文件.class。用到的Dos命令:d: cd 还有就是Javac和java了。还有出现类似于无法解析的外部命令,可能就是你环境变量的配置又问题。总结:这是学习Java写的第一个程序,虽然不难,C语言也写,但是两者还是有区别的,注意细节。一起愉快的学习吧。加油!...
2022-01-23 19:19:01
82
原创 字符串各种库函数的实现(strlen,strcpy,strcmp,strcat,strstr,memcpy)
strlen的实现 有很多种方法这里用的为指针相减int my_strlen(const char* str) { assert(str != NULL); char* p=str; while (*p) { p++; } return p - str;} strcpy的实现 char* my_strcpy(const char* src, char* dst) { assert(src != NULL); assert(dst != NULL); char*..
2022-01-13 01:15:28
225
原创 字符串左旋
首先创建一个新的字符数组,然后将原字符串拷贝进去,在往新的字符数组后,用strcat 把原字符串拼接在后头,这样就得到一个为原来字符串的两倍的字符串,例如abcd 操作后为abcdabcd ,然后左旋k位就从新的字符串第k位开始往后便利一遍就得到左旋后的字符串。...
2022-01-11 13:22:30
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人