自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指 Offer 03. 数组中重复的数字

在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。方法一:依次将数字存入集合,存入失败则说明有重复元素// c++#include <vector>#include <set>using namespace std;class Solution{public: int findRepeatNumber(vector.

2021-02-07 11:29:50 130

原创 剑指 Offer 06. 从尾到头打印链表

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。方法一:显式使用栈/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: vector<int> .

2021-02-05 18:11:26 159

原创 删除链表中含特定值的结点

void removeNOde(ListNode* &pHead, int value) { //链表为空的情况 if (pHead == NULL) { return; } //第一项为目标删除项的情况 ListNode* pToBeDeleted = pHead; if (pHead->value == value) { pHead = pHead->next; delete pToBeDeleted; pToBeDelet.

2021-02-05 17:36:25 273

原创 2021-02-05

数组名和指针的区别:sizeof(数组名)得到的是整个数组所占字节数,sizeof(指针)得到的是4,也就是指针所占内存大小。 数组名作为形参时,自动转化为指针。返回值为bool类型的函数,先定义bool found = false;最后统一return found; 对传入函数的指针,要先判断是否为NULL。 二维数组matrix[i][j]就是matrix[i * cols + j],其中cols为列数,也就是每行的元素个数。 char str1[] = "hello world";

2021-02-05 17:27:51 59

原创 剑指 Offer 05. 替换空格

请实现一个函数,把字符串s中的每个空格替换成"%20"。代码实现:class Solution{public: string replaceSpace(string s) { int numOfBlank = 0; for (auto c : s) { if (c == ' ') { numOfBlank++; } } int oldLen = s.length(); int newLen = oldLen + numOfBlank...

2021-02-05 11:47:50 109

原创 剑指 Offer 04. 二维数组中的查找

剑指 Offer 04. 二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。正确代码:class Solution{public: bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { int rows = matri

2021-02-05 09:35:54 76

原创 python性能分析:测试代码运行时间

用time模块中的perf_counter函数是比较准确的,包含了sleep时间。import socketfrom time import perf_counterimport timeitdef blocking_way(): with socket.socket() as sock: sock.connect(('baidu.com', 80)) request = 'GET / HTTP /1.0\r\nHost: baidu.com\r\n\

2021-01-20 20:12:22 387

原创 下载python第三方模块太慢的解决方案:清华镜像站

cmd中输入pip install 需要安装的模块 -i https://pypi.tuna.tsinghua.edu.cn/simple

2021-01-19 11:10:45 123

原创 java中的构造器

java中,当new一个对象的时候,本质是在调用这个类的构造方法(构造器),构造器就是类中的一种方法,用于初始化对象。它必须和类名相同,且没有返回值也不用写void。不写构造器则java会自动补上无参数的构造器,如果写了有参数的构造器,那么要考虑到构造方法的重载。public class Application { public static void main(String[] args) { Student Henry = new Student("Henry",1...

2020-08-07 17:02:43 142

原创 新手必问:java中的方法到底是值传递还是引用传递,答案:值传递!

java中的方法到底是值传递还是引用传递,答案:值传递。 但是,当传递的参数为引用类型时(如传递一个对象),如果在方法中改变了参数,那么有可能改变原来的数据,这就表现的像引用传递。这是为什么呢?关键还是在于内存中对象的存储与基本类型数据的存储不同,内存中并不直接存储对象的内容,而是在栈内存中存储它的地址,然后在堆内存中存储内容,在参数传递时,是将对象在栈内存中的值(及地址)复制后进行的传递,所以可能影响原数据。public class Demo04 { //java中的方法...

2020-08-07 16:19:23 235

原创 java中稀疏数组的创建、打印和恢复

介绍稀疏数组是一种数据结构,当一个较大的数组中大量元素都是0时,可以将它压缩为稀疏数组。 稀疏数组的格式为: 第0列 第1列 第2列 第0行 原数组行数 原数组列数 原数组中非0元素个数 第1行 行数 列数 第一个非零元素 第2行 行数 列数 第二个非零元素 第...行 行数 列数 第..个非零元素 源码如下//稀疏数组public class Demo06 { p...

2020-08-06 16:21:41 169 1

原创 java中实现冒泡排序

源码public class Demo05 { public static void main(String[] args) { int[] a = {21, 65, 56, 45, 32, 98, 123, 45, 1, 3123}; int[] sort = sort(a); System.out.println(Arrays.toString(sort)); } //冒泡排序 public static int[]

2020-08-06 15:25:37 107

原创 java中的Arrays工具类

java中数组类往往只包含很有限的方法,如.length,为此,java提供了Arrays工具类,其中的方法可以对数组进行多种处理。如:Arrays.fill(a,0),表示用0填充数组a的所有元素。如:Arrays.toString(a),返回字符串形式的数组a,从而方便将数组a打印出来。如:Arrays.sort(a),会将数组a按升序排序,经过此处理后a中元素的顺序发生了改变。等等,还有好多方法。...

2020-08-06 11:37:50 88

原创 java中将一个数组反转

public class Demo02 { public static void main(String[] args) { //反转数组 int[] arrays = {1, 2, 3, 4, 5}; arrays = reverse(arrays); for (int x : arrays) { System.out.println(x); } } public stati.

2020-08-05 16:53:10 570

原创 新手作业:用java写一个命令行窗口的计算器

先看看效果吧话不多说,先上源码import java.util.Scanner;public class Calculator02 { public static void main(String[] args) { double firstNum; double secondNum; String operator; double outcome; Scanner scanner = new Sca

2020-08-04 15:06:37 1438

原创 新手必懂:java中方法重载与可变参数的差别

java中方法重载与可变参数的差别 两者都是为了同一个方法能适应不同参数情况,用法不同:1. java中,对于一个方法(比如比较各个参数的大小),参数的类型、数目可能不确定(比如比大小时,参数可能为一个数,可能为两个数,可能为double型,也可能为int型),因此需要方法重载,从而满足各种参数情况。2. 有时候,传入的参数是多少个都有可能,不可能将所有情况下的方法都重载一遍。引入可变参数解决了这个问题。方法重载1. 参数列表必须不同(个数、类型或排列顺序不同)2. 其他:返..

2020-08-03 19:58:33 280

原创 干货:java命令行传参

命令行传参虽然命令行传参并没什么卵用,但是还是记录一下,有助于熟悉命令行控制。1. 命令行中,在相应目录下\java Demo01.java 参数,就可以实现命令行传参。2. java中的main方法也有参数,String[] args是它的形参。3. 实例:对于编译好的类文件,如Demo01.class,在命令行中用java Demo01 ab cd ef打开它,那么,ab cd ef就是传入的参数,是三个字符串,存在args数组中。关于DOS命令中java和javac命令,见本.

2020-08-03 16:47:33 515

原创 独家干货:DOS命令中java和javac命令

关于DOS命令中java和javac命令基础1. javac后面跟java文件名,带后缀,如javac Demo01.java,就会在该文件所在目录下生成对应.class字节码文件。2. java后面如果跟字节码文件名,不带后缀,如java Demo01,那么就相当于运行该字节码文件。偷懒3. java后面如果跟字节码文件名,带后缀,如java Demo01.java,那么相当于打开该java文件,自动进行了编译过程,不需要使用javac。注意4. 如果走正常基础方法(使用jav

2020-08-03 16:43:46 846 1

原创 java中的break和continue

java中的break1. 用于任何循环语句的主体部分,直接强行退出循环2. 在switch语句中也可以使用java中的continue1. 用于终止该次循环,但是下一次循环照常判断、执行。

2020-08-03 10:42:13 84

原创 java中的增强for循环

1. java5后引入2. 遍历数组和集合中的数据3.int[] numbers = {10,20,30,40,50}for(int x : numbers){ System.out.println(x);}

2020-08-03 10:27:06 183

原创 java中的for循环语句练习

用for循环输出1-1000之间能被5整除的数,并且每行输出3个public class Demo03 { public static void main(String[] args) { //用for循环输出1-1000之间能被5整除的数,并且每行输出3个 for (int i = 0; i < 1000; i++) { if ((i + 1)%5 == 0){ System.out.print((

2020-08-03 10:06:20 885

原创 详细图文:利用IDEA进行反编译

利用IDEA进行反编译找到class文件的输出目录。在这个目录下找到class字节码文件。将它复制。在IDEA中打开.java文件所在目录将刚才的class文件粘贴到该目录下。可以看到,IDEA中已经出现了class文件双击打开就得到了反编译文件...

2020-07-28 11:43:34 3469 1

原创 switch多选择结构

import java.util.Scanner;public class Demo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean FLAG = true; System.out.println("谁是最聪明的人?"); while (FLAG){ String na

2020-07-28 11:25:14 86

原创 继续谈scanner(易懂:next和nextLine的区别)

import java.util.Scanner;import java.util.concurrent.CancellationException;public class Demo02 { public static void main(String[] args) { int i = 0; Scanner scanner = new Scanner(System.in); //下面检验hasNextInt方法

2020-07-27 16:17:33 302

原创 java中的Scanner的书写格式

java中的Scannerimport java.util.Scanner;public class Demo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); if (scanner.hasNextLine()){ String str =

2020-07-27 15:30:10 1035

原创 java中的包机制

java中的包机制package a.b.c 用来定义包。import a.b.c 用来导入包。*表示导入包下所有的类用公司域名倒置作为包的名称。

2020-07-21 09:18:19 81

原创 java中的运算符

java中的运算符算术运算符加 减 乘 除模运算:%自增,自减:++,–(注意:++a表示先a=a+1,再运行代码,a++表示先代入a原来的值运行代码,再a=a+1)赋值运算符=关系运算符>, <, >=,<=, ==, !=, instanceof返回值为true或者false逻辑运算符&& || !短路运算的情况:对于a&&b,如果a为假,则不会再继续运行&&后的部分;对于a||b,如果a为真,则不

2020-07-21 09:01:01 64

原创 变量的命名规范

变量的命名规范首字母大写+驼峰原则:类名(Demo01)首字母小写+驼峰原则:类成员变量名、局部变量名、方法名(runRun)大写字母+下划线:常量名(MAX_VALUE)

2020-07-19 21:44:36 160

原创 java中数据类型转换

java中数据类型转换byte, short, char->int->long->float->double。从低到高自动转换,从高到低强制转换。转换的时候要考虑数字太大内存溢出的问题,尤其是运算以后的结果超出了数据类型能承载的范围。操作比较大的数时,可以用下划线分割。...

2020-07-19 16:48:16 65

原创 IDEA中与一行代码有关的快捷键

IDEA中的一些快捷键ctrl+D 复制此行代码到下一行。ctrl+shift+↑ 把此行代码上移。ctrl+shift+↓ 把此行代码下移。

2020-07-19 16:04:39 699

原创 java八种基本数据类型

八种基本数据类型整数类型:byte(一个字节,-128~127),short(两个字节),int(常用,四个字节),long(八个字节,末尾要加上一个L,小写的不行)。浮点数类型:float(四个字节,末尾要加上一个F或者f),double(八个字节,常用)。注意:最好完全避免使用浮点数进行数据比较,浮点数存在舍入误差,它表示的数接近但不等于真实值。字符类型:char(两个字节)注意:Unicode编码让每个字符对应一个数字,由于两位十六进制的数可以表示一个字节,所以Unicode用四位十六进制的数

2020-07-19 16:01:05 184

原创 快速检验标识符是否出错

快速检验标识符是否出错一眼扫去,是否有不应该出现的字符(字母、$、_、数字以外的字符)。再看看首字母是否写成了数字。如果上面两中情况都没有出现,则为正确的。(当然也不能用关键字作为标志符)...

2020-07-19 11:10:02 230

原创 notepad++不会给你自动保存

今天的几个问题notepad++不会给你自动保存,关闭的时候也不会问你是否要保存。但是每次打开后都是上次最后的模样,让人误以为保存了,其实文件没有改!!用javac运行Hello.java文件,如果程序里写的是打印汉字,则编译的时候会出现问题………...

2020-07-19 08:59:43 642 1

原创 安装jdk14的心得

配置jdk14环境变量的心得程序员眼中java=jdk,java8=jdk1.8=jdk8。jdk(java开发工具包=jre+)、jre(java运行环境)、jvm(java虚拟机)的包含关系。jdk11以后配置环境变量变得简单了。因此网上以jdk8等为例配置环境变量的方法过时了。具体来说,jdk14的安装目录下(默认为C:\Program Files\Java\jdk-14.0.1)没有了jre文件夹,反正也不知道jre到哪儿去了,测试后不影响使用,估计是高级版本做出了优化。同时安装目录下的li

2020-07-17 22:00:31 306

原创 DOS命令

DOS(Disk Operating SYstem 磁盘操作系统)它是一种操作系统。更高级的操作系统如windows。cmd(command 命令)它是windows操作系统下的命令行窗口,是“模拟”DOS的一个exe程序。和PowerShell有同有异。打开cmd的方式最常用:win键+R 输入cmd打开控制台常用dos命令盘符切换:E:(切换到E盘)查看当前目录下的所有文件:dir(directory 计算机文件中的目录)切换目录:cd /d 地址(右键粘贴)返回上一级目录:cd…

2020-07-17 15:41:00 85

原创 第一篇博客

今天是2020.7.17,在B站看“狂神说java”第一天,遵其建议写博客记录

2020-07-17 10:07:02 59

空空如也

空空如也

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

TA关注的人

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