- 博客(93)
- 收藏
- 关注
原创 输入数字换行输入字符串
String n1 = sc.nextLine();// 输入的数字转换为字符串再转换为数字int n = Integer.parseInt(n1);String s = sc.nextLine();
2020-09-13 20:16:29
489
原创 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。class Solution { //自己写的,通过了92/118个测试用例 public String longestCommonPrefix(String[] strs) { if (strs == null || strs.length == 0){ return ""; } String prefix = strs[0];
2020-08-13 19:29:58
155
原创 对角线遍历
给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。class Solution { public int[] findDiagonalOrder(int[][] matrix) { // Check for empty matrices if (matrix == null || matrix.length == 0) { retu
2020-08-13 16:44:47
451
原创 零矩阵
编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。class Solution { public void setZeroes(int[][] matrix) { boolean isFirstRowZero = false; boolean isFirstColumZero = false; for(int i = 0; i < matrix[0].length; i++){ if
2020-08-13 15:44:27
915
原创 旋转矩阵
给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?class Solution { public void rotate(int[][] matrix) { int row = matrix.length; int culom = matrix[0].length; int[][] res = new int[row][culom];
2020-08-13 14:49:45
147
转载 合并区间
给出一个区间的集合,请合并所有重叠的区间。mport java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.Stack;public class Solution { public int[][] merge(int[][] intervals) {
2020-08-13 14:09:03
132
原创 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。class Solution { public int searchInsert(int[] nums, int target) { if (nums == null || nums.length == 0){ return 0; } int left = 0, right =
2020-08-13 13:20:13
121
原创 寻找数组的中心索引
给定一个整数类型的数组 nums,请编写一个能够返回数组 “中心索引” 的方法。我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。class Solution { public int pivotIndex(int[] nums) { int sum = 0, leftSum = 0; for(int i = 0
2020-08-13 12:49:45
146
原创 面试题2:实现singleton模式
//饿汉式 class Singleton { //1,私有构造函数 private Singleton(){} //2,创建本类对象 private static Singleton s = new Singleton(); //3,对外提供公共的访问方法 public static Singleton getInstance() { return s; } public static void print() { System.
2020-08-12 21:12:49
121
原创 学习Git
学习GitGit:分布式版本控制系统,记录修改,协同合作,c语言开发Git无需联网,交换修改数据命令git config --global user.name usernamegit config --global user.email emailmkdir learngit //创建版本库git init //初始化版本库...
2020-08-07 22:38:29
114
原创 面试题之操作系统
https://www.nowcoder.com/discuss/468422?source_id=profile_create&channel=1011
2020-08-07 20:15:13
140
原创 面试题之数据库
数据库作者:风雨下钟山链接:https://www.nowcoder.com/discuss/468424来源:牛客网什么是数据库,数据库管理系统,数据库系统,数据库管理员?数据库 :数据库(DataBase简称DB)就是信息的集合或者说数据库是由数据库管理系统管理的数据的集合。数据库管理系统 : 数据库管理系统(Database Management System简称DBMS)是一种操纵和管理数据库的大型软件,通常用语用于建立、使用和维护数据库。数据库系统 : 数据库系统(Data Ba
2020-08-07 14:58:18
204
原创 B树,B-树和B+树的区别
小结B树:二叉树,每个结点只存储一个关键字,等于则命中,小于走左结点,大于走右结点;B-树:多路搜索树,每个结点存储M/2到M个关键字,非叶子结点存储指向关键字范围的子结点;所有关键字在整颗树中出现,且只出现一次,非叶子结点可以命中;B+树:在B-树基础上,为叶子结点增加链表指针,所有关键字都在叶子结点中出现,非叶子结点作为叶子结点的索引;B+树总是到叶子结点才命中;B*树:在B+树基础上,为非叶子结点也增加链表指针,将结点的最低利用率从1/2提高到2/3;里面b-树的阶数m有
2020-08-06 16:43:24
665
原创 剑指 Offer 07. 重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:3/ 9 20/ 15 7/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode l
2020-08-04 19:02:12
131
原创 剑指 Offer 06. 从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]**/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public int[
2020-08-04 16:16:07
129
原创 剑指Offer面试题5:替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”class Solution { public String replaceSpace(String s) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i++){ if (
2020-08-04 15:16:38
139
原创 剑指Offer面试题4
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]给定 target = 5,返回 true。给定 targe
2020-08-04 14:38:40
114
原创 计算机网络TCP/IP
计算机网络网络五层体系结构,OSI七层模型,五层协议栈每层作用TCP进程通信,3次握手,4次握手HTTP与Https的区别,Https加密GET与POST区别对称加密与非对称加密DNS在HTTP请求过程中的作用输入URL后的各种行为CLOSED与CLOSED_WAITETCP、UDP特点拥塞控制、流量控制、滑动窗口HTTP响应请求,404、302、502、503都什么意思详情见博客https://blog.youkuaiyun.com/ooc_zc/article/details/87795
2020-08-03 20:13:20
145
原创 Java学习第27天
###27.01_反射(类的加载概述和加载时机)A:类的加载概述当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。加载就是指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会建立一个Class对象。连接验证 是否有正确的内部结构,并和其他类协调一致准备 负责为类的静态成员分配内存,并设置默认初始化值解析 将类的二进制数据中的符号引用替换为直接引用初始化 就是我们以前讲过的初始化
2020-08-01 22:28:03
104
原创 Java学习第26天
###26.01_网络编程(网络编程概述)(了解)A:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。B:网络编程就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。###26.02_网络编程(网络编程三要素之IP概述)(掌握)每个设备在网络中的唯一标识每台网络终端在网络中都有一个独立的地址,我们在网络中传输数据就是使用这个地址。
2020-08-01 22:27:23
97
原创 Java学习第25天
###25.01_多线程(单例设计模式)(掌握)单例设计模式:保证类在内存中只有一个对象。如何保证类在内存中只有一个对象呢?(1)控制类的创建,不让其他类来创建本类的对象。private(2)在本类中定义一个本类的对象。Singleton s;(3)提供公共的访问方式。 public static Singleton getInstance(){return s}单例写法两种:(1)饿汉式 开发用这种方式。 //饿汉式 class Singleton { /
2020-08-01 22:26:40
92
原创 Java学习第24天
###24.01_多线程(多线程的引入)(了解)1.什么是线程线程是程序执行的一条路径, 一个进程中可以包含多条线程多线程并发执行可以提高程序的效率, 可以同时完成多项工作2.多线程的应用场景红蜘蛛同时共享屏幕给多个电脑迅雷开启多条线程一起下载QQ同时和多个人一起视频服务器同时处理多个客户端请求###24.02_多线程(多线程并行和并发的区别)(了解)并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。(需要多核CPU)并发是指两个任务都请求运行,而处理器
2020-08-01 10:18:55
103
原创 Java学习第23天
###23.01_File类递归练习(统计该文件夹大小)需求:1,从键盘接收一个文件夹路径,统计该文件夹大小###23.02_File类递归练习(删除该文件夹)需求:2,从键盘接收一个文件夹路径,删除该文件夹###23.03_File类递归练习(拷贝)需求:3,从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中###23.04_File类递归练习(按层级打印)需求:4,从键盘接收一个文件夹路径,把文件夹中的所有文件以及文件夹的名字按层级打印, 例如:
2020-08-01 10:17:51
106
原创 Java学习第22天
###22.01_IO流(序列流)(了解)1.什么是序列流序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推.2.使用方式整合两个: SequenceInputStream(InputStream, InputStream) FileInputStream fis1 = new FileInputStream("a.txt"); //创建输入流对象,关联a.txt FileInputStream
2020-08-01 10:14:53
197
1
原创 Java学习第21天
###21.01_IO流(字符流FileReader)1.字符流是什么字符流是可以直接读写字符的IO流字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写出.2.FileReaderFileReader类的read()方法可以按照字符大小读取 FileReader fr = new FileReader("aaa.txt"); //创建输入流对象,关联aaa.txt int ch; while((ch = fr.rea
2020-07-30 20:48:58
155
原创 Java学习第20天
###20.01_IO流(IO流概述及其分类)1.概念IO流用来处理设备之间的数据传输Java对数据的操作是通过流的方式Java用于操作流的类都在IO包中流按流向分为两种:输入流,输出流。流按操作类型分为两种:字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的字符流 : 字符流只能操作纯字符数据,比较方便。2.IO流常用父类字节流的抽象父类:InputStreamOutputStream字符流的抽象父类:ReaderWrit
2020-07-29 15:36:58
92
原创 Java学习第19天
###19.01_异常(异常的概述和分类)A:异常的概述异常就是Java程序在运行过程中出现的错误。B:异常的分类通过API查看ThrowableError服务器宕机,数据库崩溃等ExceptionC:异常的继承体系ThrowableErrorExceptionRuntimeException###19.02_异常(JVM默认是如何处理异常的)A:JVM默认是如何处理异常的main函数收到这个问题时,有两种处理方式:a:自己将该问题处理,
2020-07-28 21:37:54
107
原创 java学习第18天(加油)
###18.01_集合框架(Map集合概述和特点)A:Map接口概述查看API可以知道:将键映射到值的对象一个映射不能包含重复的键每个键最多只能映射到一个值B:Map接口和Collection接口的不同Map是双列的,Collection是单列的Map的键唯一,Collection的子体系Set是唯一的Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效###18.02_集合框架(Map集合的功能概述)A:Map集合的功能
2020-07-28 15:16:21
91
原创 Java学习第12天Scannner与String类补充
Scannner类一、Scanner的构造方法原理 Scanner(InputStream source) System类下有一个静态的字段: public static final InputStream in; 标准的输入流,对应着键盘录入。二、hasNextXxx()和nextXxx()方法 判断录入数据类型的方法。…Scanner sc = new Scanner(System.in)int i = sc.nextInt; //录入整数String s =sc.n
2020-07-23 21:54:43
124
原创 c++学习第二天
1.八位二进制转换#include<iostream>using namespace std;double power (double x, int n){ double value = 1.0; while (n--) value *= x; return value;}//double power (double x, int n);int main...
2019-09-06 22:37:42
232
原创 C++学习第一天
一、进制转换R进制与十进制之间的转换按位乘权相加,以小数点为分布,左从0开始,右从-1开始十进制与R进制之间的转换整数部分除R取余倒排,小数部分乘R取最高位正排二、八、十六进制之间三位合一位,四位合一位二、信息存储位(bit)字节(Byte)一字节等于八位机器字长参与运算的寄存器所含有的二进制的位数,代表机器的精度三、二进制的编码表示...
2019-09-05 22:18:22
113
原创 Java学习第17天
17.01_集合框架(HashSet存储字符串并遍历)A:Set集合概述及特点通过API查看即可B:案例演示HashSet存储字符串并遍历 HashSet<String> hs = new HashSet<>(); boolean b1 = hs.add("a"); boolean b2 = hs.add("a"); //当存储不成功的时...
2019-06-25 21:38:00
198
原创 Java学习第16天
16.01_集合框架(去除ArrayList中重复字符串元素方式)(掌握)A:案例演示需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)思路:创建新集合方式 /** * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 思路:创建新集合方式 */ public static void ma...
2019-06-24 21:28:26
154
转载 Java学习第15天
15.01_集合框架(对象数组的概述和使用)A:案例演示需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息。 Student[] arr = new Student[5]; //存储学生对象 arr[0] = new Student("张三", 23); arr[1] = new Student("李四", 24); ...
2019-06-04 14:51:50
124
原创 Java学习第十四天
14.01_常见对象(正则表达式的概述和简单使用)A:正则表达式是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的B:案例演示需求:校验qq号码.1:要求必须是5-15位数字2:0不能开头3:必须都是数字a:非正...
2019-05-13 09:17:45
128
原创 Java数组冒泡排序、选择排序、二分查找
冒泡排序及选择排序public class Demo1_Array { /** * * A:案例演示 * 数组高级冒泡排序代码 */ public static void main(String[] args) { int[] arr = {24, 69, 80, 57, 13};// bubbleSort(arr); print(arr); selectSort...
2019-05-12 22:05:52
199
原创 Java中数组转成字符串及字符串的反转
1.数组转成字符串public class Test1 { /** * * 需求:把数组中的数据按照指定个格式拼接成一个字符串 * 举例: int[] arr = {1,2,3}; 输出结果: "[1, 2, 3]" 用StringBuffer的功能实现 */ public static void main(String[] arg...
2019-05-12 21:59:33
4774
原创 Java中StringBuffer类
public class Demo1_StringBuffer { /** * * A:StringBuffer的构造方法: * public StringBuffer():无参构造方法 * public StringBuffer(int capacity):指定容量的字符串缓冲区对象 * public StringBuffer(String str):指定字符串内容的字...
2019-05-12 21:29:55
149
转载 Java学习第十三天
13.01_常见对象(StringBuffer类的概述)A:StringBuffer类概述通过JDK提供的API,查看StringBuffer类的说明线程安全的可变字符序列B:StringBuffer和String的区别String是一个不可变的字符序列StringBuffer是一个可变的字符序列13.02_常见对象(StringBuffer类的构造方法)A:St...
2019-05-12 18:59:50
103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人