自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 七大排序,你想看的这里都有(java)

这里写目录标题一、直接插入排序二、希尔排序三、直接选择排序四、堆排序五、冒泡排序六、快速排序七、归并排序七大排序算法的时间复杂度,空间复杂度以及稳定性如下:下面我们来一一看下七大算法具体是怎么实现的一、直接插入排序思想:将待排序的数组中的元素分成两个区间,已排序区间和未排序区间。初始时有序区间只有第一个元素,遍历无序区间,把无序区间每个数不断地插入有序区间,形成一个更大的有序区间,遍历完成时整个数组也就有序了。public class Main { public static void

2021-09-20 14:28:04 102

原创 当浏览器地址栏中输入一个URL后回车,会发生什么?

当我们输入URL之后,会显示我们百度搜索的界面,这其实就是浏览器和百度服务器之间的网络通信过程。浏览器是客户端,便于发送请求,而百度的服务器就是服务端,用于接收并响应请求。过程基本上是这样:一、解析URLURL是输入的网址,里面含有域名,解析URL得到里面的参数,将域名和需要请求的资源分离开来,从而了解需要请求的是哪个服务器,请求的是服务器上的什么资源等。二、浏览器封装http请求报文对URL解析之后,浏览器确定了目标服务器和文件名,接下来就需要根据这些消息封装成 一个http请求报文发送出去。

2021-09-20 11:23:42 190

原创 力扣709 转换成小写字母

给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。示例 1:输入:s = “Hello”输出:“hello”示例 2:输入:s = “here”输出:“here”示例 3:输入:s = “LOVELY”输出:“lovely”提示:1 <= s.length <= 100s 由 ASCII 字符集中的可打印字符组成class Solution { public String toLowerCase(String str) {

2021-09-01 17:42:38 125

原创 Java中的异常处理

Java中的异常处理1、异常处理的意义1.1 异常的基本概念1.2 Java处理错误的方法2、错误的分类3、异常的处理3.1 声明抛出异常3.2捕获异常:try、catch和finally语句4、生成异常对象5、声明自己的异常类1、异常处理的意义1.1 异常的基本概念异常:又称例外,是特殊的运行错误对象,对应着Java语言特定的运行错误处理机制。由于Java程序是字网络环境中运行的,安全成为需要首先考虑的重要因素之一。为了能够及时有效地处理程序中的运行错误,Java中引入了异常和异常类。作为面向对象

2021-04-21 21:35:03 551 2

原创 §1 软件测试初相识----基本了解

1、什么是软件测试通俗一些,就是找到软件中的bug验证软件是否满足用户的需求。我们找bug是以一定的标准的,这个标准是用户的需求,如果测试人员在测试过程中发现这个软件没有满足用户的需求,我们就说这个软件是有bug的,如果满足了用户的需求,那么这个软件就是可以的软件测试是从正反两个方面来看的(不是以软件测试人员的主观意愿去判断软件的质量的,他是有标准的)软件测试历史发展过程为了发现错误而执行程序或者系统的过程评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量使用人工或自动手段

2021-04-19 20:31:16 111

原创 请实现有重复数字的升序数组的二分查找

给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1特别特别需要注意的一个地方,自己做题的时候就这个地方没有通过。即如果数组是int[] array = {1,2,2,3,4};我们查找元素为2的下标,因为2号元素也是2,所以返回的就是2,而不是我们想要的1,所以我们要把nums[mid] 和nums[mid - 1]做一个比较else if(nums[mid] == target){

2021-04-14 18:08:30 684

原创 Java中的二维数组

定义有四种定义二维数组的方法:public static void main(String[] args) { int[][] array1 = {{1,2,3},{1,3,4}};//2行3列 int[][] array2 = new int[2][3];//默认是0,2行3列 int[][] array3 = new int[][]{{1,2,3},{4,5,6}};//2行3列 int[][] array4 = new int[2][];//可以省略列,但是不可以省

2021-04-14 16:47:42 175

原创 检查数组的有序性--数组的排序--数组的逆序

检查数组的有序性给定一个整形数组,判断是否该数组是有序的(升序)public static void main(String[] args) { int[] array = {1,2,4,3,5}; int[] array2 = {}; int[] array3 = {1,1,1,1,1,1}; System.out.println(isSorted(array)); System.out.println(isSorted(array2)); System

2021-04-14 16:38:38 546

原创 数组转字符串以及数组的拷贝

数组转字符串方法一:调用库函数Arrays.toString(array)public static void main(String[] args) { int[] array = {1,2,3,4,5,6}; System.out.println(Arrays.toString(array));}方法二:自己实现数组转字符串(1)public static void main(String[] args) { int[] array = {1,2,3,4,5,6};

2021-04-13 23:31:52 471 2

原创 递归相关题目

递归: 递+归 的操作将大问题化解成小问题的过。为什么可以化解,是因为,大问题的处理方式和小问题的处理方式是一样的1、要调用自己本事。2、要有一个趋于终止的条件我们通过例子来理解顺序打印一个数字的每一位import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

2021-04-12 21:13:13 66

原创 面向对象的程序设计方法概述

面向对象的程序设计方法概述现实世界由各种对象组成的,每个对象都具有各自的属性,对外界都可以呈现出各自的行为。通常我们将属性及行为相同或相似的对象归为一类。累可以看成是对象的抽象,代表了此类对象所具有的的共有属性和行为。类声明不仅包括数据(属性),还包括行为(功能)面向对象的程序基本组成单位是类。程序在运行时由类生成对象,对象之间通过发送消息进行通信,互相协作完成相应的功能。对象是面向对象的核心。面向对象程序涉及的主要概念有抽象、封装、继承和多态。抽象抽象就是忽略问题中与当前目标无关的那些方面,以

2021-04-11 21:53:24 966

原创 输出一个数的二进制序列

问题:输出一个数的二进制序列分析:1、输出32位的二进制序列2、怎么输出呢?这是个问题,手工计算方法是除以2取余,但是在我们写代码的时候会很复杂,最简单的方法就是移位3、为了方便理解,我们举一个例子如果输出5的二进制数(咱们输出四位)5的二进制是 0101,先输出0,再输出1 再输出0 再输出10101>>3(我们把这个二进制数左移3位)就变成 0000让0000&0001=0;0101>>2(我们把这个二进制数左移2位)就变成0001 0001&amp

2021-04-08 16:20:55 488

原创 单词逆序:将一个句子的单词逆序输出来: 输入:I am a boy!(用一个空格间隔这些单词) 输出:boy! a am I

题目:单词逆序将一个句子的单词逆序输出来:输入:I am a boy!(用一个空格间隔这些单词)输出:boy! a am I关键点:String[] strings = str.split(" ");然后将String数组逆置即可,中间定义一个中间变量import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scan

2021-04-06 11:38:17 476

原创 给定一个字符串,判断是否回文串,只考虑字母数字字符和忽略大小写。

给定一个字符串,判断是否回文串,只考虑字母数字字符和忽略大小写。题目分析:1、题目要求:忽略大小写,所以我们在比较之前可以做一个工作,把字符串里面的字母转换成大写或者小写,我这里转换的小写 str = str.toLowerCase();2、比较,我们求出来字符串的长度,前后依次比较即可import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner

2021-04-05 19:40:40 1307 3

原创 给定一个只包括 ‘(‘,‘)‘,‘{‘,‘}‘,‘[‘,‘]‘ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。

题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:1、左括号必须用相同类型的右括号闭合。2、左括号必须以正确的顺序闭合。这里我们使用数组import java.util.Scanner;public class Main { public static boolean isValid (String s) { char[] array = new char[s.length()]; int

2021-04-05 18:50:32 602 3

原创 给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组。java

问题描述:给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组问题分析1、如果K>数组的长度,那么返回一个空的数组import java.util.ArrayList;public class Solution { public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int

2021-04-05 18:31:13 170

原创 映客2020春招笔试题目

1、某团队2/5的人会Java,3/4的人会C++,团队里同时会Java和C++的最少有( )人。因为5和4的最小公倍数是20,所以这个团队总人数最少有20人,会Java的人数有20×2/5=8(人),会C++的人数有20×3/4=15(人)答案:至少有3人2、下列哪种方式不能使进程进入等待状态( )。A、CPU调度给优先级更高的线程B、阻塞的线程获得资源或者信号C、在时间片轮转的情况下,如果时间片到了D、获得spinlock未果答案:D进程分为基本的三个状态:运行、就绪、阻塞/等待。

2021-04-05 18:09:34 734

原创 有1分,2分,5分,10分四种硬币,每种硬币数量无限,给定n分钱(n <= 100000),有多少中组合可以组成n分钱?

1、暴力破解法使用四个for循环,但是如果n很大的话,就会超时import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[] array = new int[]{1,2,5,10};

2021-03-29 16:02:04 1411 8

转载 下列哪个IP地址可以分配给一台计算机?

下列哪个IP地址可以分配给一台计算机?A、 256.1.3.4B 、197.3.11.0C 、199.5.89D 、11.15.33.235正确答案: D 你的答案: D (正确)互联网的网络地址分为A~E五类,其中A类地址:0.0.0.0 ~ 127.255.255.255主机号是后24位B类地址:128.0.0.0 ~ 191.255.255.255主机号是后16位C类地址:192.0.0.0 ~ 223.255.255.255主机号是后8位D类地址:224.0.0.0 ~

2021-03-09 10:16:21 5446

原创 下列哪个IP不和10.11.12.91/28处于同一个子网

下列哪个IP不和10.11.12.91/28处于同一个子网以下哪个ip不和10.11.12.91/28处于同一个子网A 10.11.12.97/28B 10.11.12.88/28C 10.11.12.94/28D 10.11.12.85/28答案:A解释:IP地址是由网络号和主机号组成的,前28位为网络号,所以前28位都相同,可得子网掩码为(255.255.255.240)—>(11111111.111111111.111111111.11110000)本题中IP地址前部分都是10.

2021-03-09 10:06:48 704

原创 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:1、我们先来找规律上0个台阶:不用上 1种方法 上1个台阶:上一个 1种方法上2个台阶:上一个上两次,或者上两个 2种方法上3个台阶:12 111 21 3 4种方法上4个台阶:1111 112 121 211 22 13 31 4 8种方法上5个台阶:11111 1112 1121 1211 2111 221 212 122 113 131 311 32 23 1

2021-01-12 21:28:06 398

原创 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路:1、将数组Array1排序Array2,按照从大到小或者从小到大的顺序排2、找出排序后的数组Array2中间的数字,即Array2[half](因为不是中间的数字的肯定出现的次数不到一半)3、数组遍历,看看等于Arrays[half]的数目有没有超过一半,超出了返回Array2[half

2021-01-12 20:27:41 113

原创 VC++6.0注释快捷键设置

1、打开VC++6.02、打开工具(T)–>定制窗口–>附加项和宏文件–>选择SAMPLE3、选择键盘–>类别选择Macros–>命令选择CommentOut–>按下新的快捷键(注意哦,这里不是敲单词,是直接按快捷键)–>分配即可完成...

2020-11-13 11:52:20 2504

原创 大数加法:这还是简单的A+B吗?

大数加法,这还是简单的A+B吗?最近遇到一道很有意思的题目,就如标题所示,20位的数字相加。刚开始的时候,没多想,觉得就是简单地加减法,那还不简单,我想,和我一样想法的人应该还会有吧。可是运行后发现,根本行不通,于是乎,正视这道题目。下面是代码以及相关的解释:#include<stdio.h>#include<string.h>#include <windows.h>#define M 1000#pragma warning (disable:4996)

2020-10-06 16:22:10 181 1

原创 java中对象比较的三种方式

java中提供了关于对象的比较,有以下方式(1) equals()这是所有的类都具备的能力。理解:比较两个对象代表的是不是同一个实际事物规则:需要重写(覆写)equals方法才能达到(2)大小的比较有两种:1. 自然顺序比较 Comparable compareTo()不是所有的类都具备,需要通过实现Comparable接口来表明该类具备这个能力理解:比较this和传入的引用指向的对象2. 外部比较(比较器)Comparator —— 构造一个天平不需要比较的类具备 Comparabl

2020-10-06 14:55:02 1306

原创 一个多位数逆置

#include <stdio.h>int main(){ //一个多位数逆置 int n = 0; scanf("%d",&n); int b = 1, ans = 0; int flag = 0; while (n!=0){ int k = n % 10; n /= 10; if (k == 0 && flag == 0){ flag = 1; ans = ans * 10; } else if (k == 0 &am

2020-10-04 10:56:48 86

原创 引用数据类型你get到了吗?

基本数据类型(8种)引用数据类型一、class类型的引用class A{...}A p;A p = 什么类型的对象。class类型的引用 只可以指向 该类 以及 他的子类 类型的对象。A p = new AA();这句代码要正确,要求:要不 AA 就是 A;要不就是 AA 是 A 的子类。A a = new A(); 正确A a = new AA(); 正确A a = new AAA(); 错误二、interface类型的引用interface B{...}B

2020-10-03 17:48:02 94

原创 引用,你真的理解了吗?

引用是如何理解的对于引用这个东西,我觉得大家多多少少有些了解,我也是的呐,但是最近的学习中,我发现,对于引用这个概念我也是大致的懂了,概念有些模棱两可,下面呢,我就简单的写一下最近学到的东西首先呢,咱们先举一个小例子public class Node { public int val; public Node next;}Node p = new Node();Node q = new Node();p = q;这句话你是怎么理解的呢?是不是和我一样,让p这个引用指向q这个

2020-10-03 17:17:23 263

原创 给定一个二叉树,检查它是否是镜像对称的。

思路:如果给定了p和q两棵二叉树 isMirrorTree(TreeNode p, TreeNode q)1、p是空树 && q是空树 --> 互为镜像2、p是空树 && q不是空树 --> 不互为镜像3、p不是空树 && q是空树 --> 不互为镜像4、p不是空树 && q不是空树条件1:p的值和q的值相等条件2:p的左子树和q的右子树互为镜像条件3:p的右子树和q的左子树互为镜像返回 条件1 &a

2020-09-29 21:04:10 215

原创 给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。

思路:1、在s为根的树中,查找t这个结点(只要结点的值相等即可,不要求同一个结点)2、如果没找到,就意味着,在s为根的树中一定不包含和 t 具有相同结构和节点值的子树3、如果找到了,检查找到的这个结点为根的数是否和t树相等,如果不想等,接着找/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right;

2020-09-29 20:55:02 226

原创 考试笔试干货------代码块的知识点,你了解多少?

代码块分为几类?代码块分为三类,本地代码块实例代码块–>构造代码块静态代码块区别是啥嘞,代码示例:{ this.age = 998; System.out.println("实例代码块-》构造代码块");}static{ //this.age = 888;//会出错,不可以的,为啥?因为静态的是不依赖于对象的,而age是依赖于代码块的,矛盾 System.out.println("静态代码块");}public void func(){

2020-07-28 17:25:15 86 2

原创 Java封装,你了解多少?

面向对象的语言都有一些特征:继承、封装、多态、组合注意哦,这里,千万不要写成Java的三大特征(错误的哈)我们今天来认识的是封装!!!开始嘞,咱们来举一个例子我们写代码会涉及两种角色:类的实现者和类的调用者,代码整起!!代码示例1:class Student{ public String myName; public int age; public void show(){ System.out.println("姓名"+myName+"年龄"+age);

2020-07-28 16:36:40 110

原创 类的成员

字段/属性/成员变量如何访问(接上一篇)字段可以就地初始化但是正式的使用时一般不会直接初始化的class Person{ public int age = 18; public String name = "wangYaRu"; }null在Java当中表示空引用,表示不引用任何对象,类似于C语言当中的空指针public static void main(String[] args) { Person person = null; System.out.

2020-07-27 15:44:24 190

原创 类和对象的初步认知

最近这段时间,学习了类和对象,觉得还是比较吃力的,学习了这些之后才算是开始踏入Java的大门,路漫漫其修远兮,吾将上下而求索,加油吧!下面呢,我就将相关的知识点梳理一下(分多个博文)初识类和对象类和对象会一直伴随着java,类和对象都是比较抽象的概念,具体什么是类,什么是对象嘞??我们可以这样来简单的理解:类呢相当于一个模具,图纸,是一个模板;对象呢就是通过模具,图纸做出来的实体。下面呢,咱们来区分一下面向对象与面向过程两个概念:C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过调用

2020-07-27 06:47:45 132

原创 初识JVM内存区域划分

JVM内存区域划分为5块.java---------编译 javac --------->.class字节码文件(二进制文件)---------加载字节码到JVM中------->JVMJava虚拟机栈 平时学习中所说的栈,重点是存储局部变量表,我们创建的 int[ ] array 这样的存储地址的引用就是在这里保存本地方法栈用来存储本地方法的变量什么是本地方法变量:底层是C/C++代码实现的方法,有一个特性,被native所修饰。特点:速度快堆 存储对象,new int[

2020-07-23 16:10:55 99

原创 Java 数组的基本用法

和C语言中有些许的不一样,但是大体上没有什么差别定义、使用、包含注意事项,数组当中拥有很多的县城的方法,我们需要做的就是,记住常用的方法,并且学会在适当的时侯使用他Java当中的数组,存放于堆当中什么是数组数组是存放一组相同数据类型的集合数组的创建三种方法:int[ ] array = {1,2,3,4,5};int[ ] array = new int[4]; 定义了一个数组,但并没有初始化int[ ] array = new int[ ]{1,2,3,4,5}; 定义了一个数组,同.

2020-07-23 15:46:39 146

原创 进制之间的相互转换

在我们学习的过程中,接触过二进制,八进制,十进制,十六进制,不过这些进制是怎么相互转化的呢?咱们一起来看一下首先,了解一下各个进制,二进制由0和1组成,八进制是由0~7组成,十进制就不用说了,大家都很熟悉,十六进制呢,是由0~9和abcdef组成滴下面嘞,我们一起来学习一下二进制与八进制,十六进制之间的转换(十进制就略去了,大家应该都不陌生)比如一个二进制数 001010(10)二进制数与八进制的相互转化:将每三位二进制数分成一组,例如上面的001010,分开为001 010,就像这个

2020-07-18 01:24:47 269

原创 java中的运算符

算术运算符算术运算符包括加、减、乘、除和取模,加减乘就不介绍了,下面就来看一下除和取模 /和%代码示例 int a =5; int b =2; int c =0; System.out.println(a/b);//正常 System.out.println(a/c);//异常 //报错exception(异常) //后面跟随异常的种类,算术异常, //异常原因:by zero, //后面会明确告诉你异常的地方在哪里在运行时发生的异常,叫做运行时期异常或者叫非受查

2020-07-18 00:54:17 104

原创 java中的类型转换

int和long/double类型的相互赋值代码示例 int a =10; long b = 20L; double d = 12.5; a = b;//编译出错,提示可能会损失精度 a = d;//编译出错,提示可能会损失精度 a = (int)b;//强制类型转换,将long型转成int型,编译通过 a = (int)d;//强制类型转换,将double型转成int型,编译通过 b = a;//编译通过 d = a;//编译通过long和double表示的范围比int型都大,所以可

2020-07-17 20:39:58 184

原创 Java数据类型

变量和类型首先,我们来认识一下计算机是由哪几部分组成的输入设备:键盘,麦克风输出设备:屏幕外存储器:U盘,光盘,磁盘,硬盘内存储器:一般所有的程序都存储在内存当中CPU:运算器和控制器总共有八种数据类型,一种引用类型八种数据类型有:byte short int long float double char boolean一种引用类型:String标识符含义:标识符是指在程序中,我们自己定义的内容。譬如,类的名字,方法名称以及变量名称等等命名规则:标识符命名是由数字,字母,下划线或

2020-07-17 19:14:39 152

空空如也

空空如也

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

TA关注的人

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