自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 控制台乱码

找到Tomcat配置文件conf下的logging.properties,用notepad打开。把下图位置的UTF-8该成GBK。

2023-05-18 21:19:43 121

原创 刷题4.28

是一种行为型设计模式,用于将请求从一个处理者传递到另一个处理者,直到请求被处理为止。在这个模式中,每个处理者都有机会处理请求,如果当前处理者无法处理请求,则将其传递给下一个处理者,直到找到可以处理请求的处理者。桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。有红色蓝色的球体和正方体,需要四个子类。

2023-04-28 23:40:35 900

原创 刷题4.17

1、2、

2023-04-17 23:52:05 127

原创 刷题4.15

传输层:负责主机之间的数据传输,在网络层提供的端到端通信基础上,细分为进程到进程。应用层:网络应用,为人类用户或其他用户进程提供网络应用服务。网络层: 为数据报从源到目的选择路由。链路层:负责相邻节点之间的数据传输。物理层:在线路上传输bit。

2023-04-16 00:04:40 132

原创 今日算法4.12

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]来源:力扣(LeetCode)链接:https://leetcode.cn/problems/remove-nth-node-from-end-of-list。

2023-04-12 00:50:05 96

原创 今日算法题4.9

链接:https://leetcode.cn/problems/delete-node-in-a-linked-list。解释:指定链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9。链表的所有值都是 唯一的,并且保证给定的节点 node 不是链表中的最后一个节点。给你一个需要删除的节点 node。有一个单链表的 head,我们想删除它其中的一个节点 node。输入:head = [4,5,1,9], node = 5。给定节点的值不应该存在于链表中。

2023-04-10 00:06:46 76

原创 今日算法题4.8

如果 isLetter(codePoint) 或 isDigit(codePoint) 对字符返回 true,则认为该字符是字母或数字。如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。字符串名.toLowerCase() // 将字符串中的字母全部转换为小写,非字母不受影响。字符串名.toUpperCase() // 将字符串中的字母全部转换为大写,非字母不受影响。解释:在移除非字母数字字符之后,s 是一个空字符串 ""。输入:s = " "

2023-04-08 00:32:40 92

原创 今日算法题4.6

解读:用哈希表,记录s字符串中的字母出现的次数,遍历t字符串,将有的字符减1,如果最后刚好都为0则表示是字母异位词。链接:https://leetcode.cn/problems/valid-anagram。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。输入: s = "anagram", t = "nagaram"输入: s = "rat", t = "car"

2023-04-07 00:20:30 108

原创 今日算法题4.2

在第一次遍历时,我们使用哈希映射统计出字符串中每个字符出现的次数。在第二次遍历时,我们只要遍历到了一个只出现一次的字符,那么就返回它的索引,否则在遍历结束后返回 -1。链接:https://leetcode.cn/problems/first-unique-character-in-a-string。给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。输入: s = "loveleetcode"输入: s = "leetcode"输入: s = "aabb"

2023-04-02 23:35:52 101

原创 今日算法题3.27

如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。链接:https://leetcode.cn/problems/reverse-integer。给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。假设环境不允许存储 64 位整数(有符号或无符号)。来源:力扣(LeetCode)输入:x = -123。输入:x = 123。输入:x = 120。

2023-03-27 23:41:19 138

原创 今日算法3.26

解读:用双指针,遍历的过程中,我们不停地将 i 向右移动,直到 i 指向一个元音字母(或者超出字符串的边界范围);元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现不止一次。指向的元音字母,否则说明所有的元音字母均已遍历过,就可以退出遍历的过程。输入:s = ["H","a","n","n","a","h"]输入:s = ["h","e","l","l","o"]输出:["h","a","n","n","a","H"]输出:["o","l","l","e","h"]

2023-03-26 23:33:46 94

原创 今日算法题3.24

解读:采用双指针,一个指向数组开始,一个指向数组结束,创建一个新数组,遍历原数组,如果不为0,则放入前指针位置,然后指针后移,如果为0,放入后面指针位置,然后指针前移。这样我们创建一个哈希表,对于每一个 x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,即可保证不会让 x 和自己匹配。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]输入: nums = [0]

2023-03-24 23:36:28 101

原创 今日算法3.23

所以只需要判断有没有进位并模拟出它的进位方式,如十位数加 1 个位数置为 0,如此循环直到判断没有再进位就退出循环返回结果。然后还有一些特殊情况就是当出现 99、999 之类的数字时,循环到最后也需要进位,出现这种情况时需要手动将它进一位。给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。输入:digits = [4,3,2,1]输入:digits = [1,2,3]输出:[4,3,2,2]输出:[1,2,4]

2023-03-23 23:56:24 118

原创 今日算法题3.18

解读:用HashMap,先用map统计数组1中各元素的个数,元素作为key,出现次数作为value,然后遍历数组2,如果数组2中的元素在map中存在,则把它放入新数组arr,然后相应value-1,如果-1后count为0,则移除该元素,这样遍历完后arr中则是重复元素。每次比较两个指针指向的两个数组中的数字,如果两个数字不相等,则将指向较小数字的指针右移一位,如果两个数字相等,将该数字添加到答案,并将两个指针都右移一位。输入:nums1 = [1,2,2,1], nums2 = [2,2]

2023-03-18 23:19:43 101

原创 每日算法题3.16

任何数和 0 做异或运算,结果仍然是原来的数;所以将所用元素异或,最后得到的数为只出现一次的数。解读:利用HashMap,用元素作为key,用元素出现的次数作为value,最后判断哪个key的value为1,则返回。给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。输入:nums = [4,1,2,1,2]只需要对数组遍历一次。输入:nums = [2,2,1]输入:nums = [1]

2023-03-16 23:54:58 221

原创 今日算法题3.15

解读:用一个新的数组记录,每个元素的新下标为(i+k)%n,再用System.arraycopy将新数组copy到原数组。方法从指定的源数组复制一个数组,从指定位置开始,到目标数组的指定位置。输入: nums = [1,2,3,4,5,6,7], k = 3。输入:nums = [1,1,1,3,3,4,3,2,4,2]向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]输入:nums = [1,2,3,1]

2023-03-15 23:40:34 102

原创 删除有序数组中的重复项(双指针)

采用双指针模式,一个快指针,一个慢指针,慢指针从0开始,快指针从1开始,当快指针所指与慢指针相同时,快指针+1,当不相等时,将当前快指针所指的移到慢指针的前一个,然后慢指针+1,遍历完时返回慢指针所在位置p+1。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。

2023-03-13 23:33:34 215

原创 今日算法题3.11

否则构建一个长度为26的数组,先统计magazine里出现的字母及个数,对应字母在数组相应位置加1,然后遍历ransomNote,在数组里相应字母-1,如果减为了负数,则说明ransomNote里面有Magazine里所无法构成的,则返回false,如果成功遍历完,则返回true。输入:ransomNote = "aa", magazine = "aab"输入:ransomNote = "aa", magazine = "ab"输入:ransomNote = "a", magazine = "b"

2023-03-12 00:03:11 102

原创 “21天好习惯”第一期-21

Java学习二十一:一、内部类1、概述 就是在一个类中定义一个类,比如在一个类A的内部定义一个类B,类B就被称为内部类2、格式public class 类名 { 修饰符 class 类名 { }}范例:public class Outer { public class Inner { }}3、访问特点 ① 内部类可以直接访问外部类的成员,包...

2021-11-12 22:23:14 289

原创 “21天好习惯”第一期-20

Java学习二十:一、形参和返回值1、类名作为形参和返回值 ①方法的形参是类名,其实需要的是该类的对象 ②方法的返回值是类名,其实返回的是该类的对象 范例:public class Cat { public void eat() { System.out.println("猫吃鱼"); }}public class CatOperator { // 作为形参...

2021-11-11 23:36:45 300

原创 “21天好习惯”第一期-19

Java学习十九:一、接口(是抽象的内容)(与class同级)1、概述: 接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用 Java中的接口更多的体现在对行为的抽象2、特点: ① 接口用关键字 interface 修饰 public interface 接口名 { } ② 类实现接口用 implements 接口名 { } ...

2021-11-10 23:10:18 307

原创 “21天好习惯”第一期-18

Java学习十八:一、抽象类(abstract)1、概述 在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须 定义为抽象类。 比如:animal就是一个抽象的概念,动物吃东西就是一个抽象的方法2、范例// 定义抽象方法shout():public abstract void shout();// 定义抽象类animal():public abstract class a...

2021-11-09 23:46:44 100

原创 “21天好习惯”第一期-17

Java学习十七:一、修饰符接昨天1、修饰符static:static 关键字是静态的意思,可以修饰成员方法,成员变量static 修饰的特点 · 被类的所有对象共享 这也是我们判断是否使用静态关键字的条件 ·可以通过类名调用(推荐使用类名调用)static访问特点:非静态的成员方法: · 能访问静态的成员变量 · ...

2021-11-08 23:28:39 105

原创 “21天好习惯”第一期-16

Java学习十六:一、修饰符1、包 ①概述 其实就是文件夹 作用:对类进行分类管理 ②定义格式 · 格式:package 包名; (多级包用,分开) · 范例:package com.text; (com文件夹下有text文件夹) ③带包的java类编译和执行 ·手动建包按照以前的格式编译ja...

2021-11-07 23:57:45 123

原创 “21天好习惯”第一期-15

Java学习十五:一、继承1、方法重写 ①概述 子类中出现了和父类中一模一样的方法声明 ②应用 当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法, 这 样,即沿袭了父类的功能,又定义了子类特有的功能。2、范例:public class phone { public void call(String name) { System....

2021-11-06 23:49:11 109

原创 “21天好习惯”第一期-14

Java学习十四:一、继承1、继承中构造方法的访问特点 子类中所有的构造方法(无参、带参)默认都会访问父类中无参构造方法 原因: ·子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化 ·每一个子类构造方法的第一条语句默认都是:super()2、用代码解释:public class Fu { public Fu() { System.out...

2021-11-05 23:32:26 103

原创 “21天好习惯”第一期-13

Java学习十三:一、继承1、概述 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。2、格式 ·格式:public class 子类名 extends 父类名 { } ·范例:public class Zi extends Fu { } ·Fu:是父类,也被称为基类,超类 ·Zi:是子类,也被称为派生类3、特点: ...

2021-11-04 22:16:37 122

原创 “21天好习惯”第一期-12

Java学习十二:一、集合1、集合概述: 集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList为其中之一2、Array List<E>: ·可调整大小的数组实现 ·<E>:是一种特殊的数据类型,泛型3、ArrayList构造方法和添加方法①构造方法:ArrayList<类型&g...

2021-11-03 19:27:09 111

原创 “21天好习惯”第一期-11

Java学习十一:一、Math类1、概述 Math类是数学操作,提供了一系列用于数学运算的静态方法,包括求绝对值、三角函数等。 (Math类中有两个静态常量PI和E,分别代表π和e。)2、常用方法abs( int x ) 返回参数的绝对值ceil( float x ) 返回大于等于给定参数的最小整数floor( float x ) 返回小于等于给定参数的最大整数roun...

2021-11-02 18:02:17 118

原创 “21天好习惯”第一期-10

Java学习十:一、StringBuilder类1、概述 StringBulider是一个可变的字符串类,我们可以把它看成是一个容器 这里的可变指的是StringBuilder对象中的内容是可变的2、String和StringBuilder的区别String:内容是不可变的StringBuilder:内容是可变的3、构造方法publicStringBuilder() 创...

2021-11-02 00:01:43 114

原创 “21天好习惯”第一期-9

Java学习九:接昨天:一、字符串5、字符串的基本操作int indexOf( int ch ) 返回指定字符在此字符串中第一次出现处的索引int lastIndexOf( int ch ) 返回指定字符再次字符串中最后一次出现处的索引char charAt( int index ) 返回字符串中index位置上的字符int length( ) 返回此字符串的长度 ①范例pu...

2021-10-31 23:31:34 112

原创 “21天好习惯”第一期-8

Java学习七:一、字符串1、String ① 概述 String类代表Java程序中的所有字符串文字(例如"abc")都被实现为此类的实例,,也就是说,Java程序中所有的双引导字符串,都是String类的对象。 ② 特点 · 字符串不可变,它们的值在创建后不能被更改 ·虽然String的值是不可变的,但是它们可以被共享 ·字符串效果是相当于字符数组(char[]),但是底...

2021-10-30 23:48:14 106

原创 “21天好习惯”第一期-7

Java学习七:一、构造方法1、概述 构造方法是一种特殊的方法,作用是创建对象。2、格式public class 类名 { 修饰符 类名(参数) { }}范例: · 无参:public class student { public student () { // 构造方法内书写的内容 }} ·带参:public studen...

2021-10-29 21:53:55 104

原创 “21天好习惯”第一期-6

Java学习六:一、面对对象基础接昨天4、类的封装① 概述:所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用private关键字来修饰,私有属性只能在它所在类中被访问。② private关键字 ·是一个权限修饰符 ·可以修饰成员(成员变量和成员方法) ·作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问 针对private修饰的成员变量,如果需要...

2021-10-28 18:59:07 120

原创 “21天好习惯”第一期-5

Java学习五:一、面对对象基础1、类和对象① 类:类是对现实生活中一类具有共同属性和行为的事物的抽象② 类的特点: ·类是对象的数据类型 · 类是具有相同属性和行为的一组对象的集合③ 对象:是能够看得到摸得着的真实存在的实体2、类的定义① 类的重要性:是Java程序的基本组成单位②类的组成:属性和行为· 属性:在类中通过成员变量来体现(类中方法外的变量)· 行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键...

2021-10-27 21:04:46 131

原创 “21天好习惯”第一期-4

Java学习四:一、方法重载1、概述方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载·多个方法在同一个类中·多个方法具有相同的方法名·多个方法的参数不相同,类型不同或者数量不同2、特点·重载仅对应方法的定义,与方法的调用无关,调用方法参照标准格式·重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,即不能通过返回值来判定两个方法是否相互构成重载3、范例public class MethodDemo...

2021-10-26 17:45:40 109

原创 “21天好习惯”第一期-3

Java学习三:一、方法1.概述:方法是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集2.注意:·方法必须先创建才可以使用,该过程称为方法定义·方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用3.方法的定义:格式:public static void 方法名 () { //方法体}范例:public static void isEvenNumber(){ //方法体}4.方...

2021-10-25 23:14:27 84

原创 “21天好习惯”第一期-2

Java学习二:(和c语言一样的知识就直接跳过了)一、Random(获取随机数)①导包import java.util.Random;②创建对象Random r = new Random();③获取随机数int x = r.nextInt(10);// 获取数据范围:[1,10)二、数组定义格式:格式一: 数据类型[ ] 变量名范例: int[ ] arr格式二: 数据类型 变量名[ ]范例: int...

2021-10-25 22:37:33 106

原创 “21天好习惯”第一期-1

Java学习一:(运行java前的基础)一、JRE:Java程序的运行时环境JDK:Java程序开发工具包关系:二、命令(cmd) DOS命令cd+文件夹名称:进入文件夹cd.. :回退到上一级cd\ :回退到根目录cls : 清除先前输入的命令exit:退出dir:查看当前路劲内容盘符名称:切换盘符三、基本代码格式HelloWorld案例:...

2021-10-25 22:00:52 173

原创 2021-05-25

杭电oj——1008-Elevator//(^-^)为了记录自己都写了些什么Problem DescriptionThe highest building in our city has only one elevator. A request list is made up with N positive numbers. The numbers denote at which floors the elevator will stop, in specified order. It cost

2021-05-25 22:36:38 84

空空如也

空空如也

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

TA关注的人

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