自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 括号匹配问题

括号匹配问题 个人思路: 总共四种情况: 要么 左括号多 要么 右括号多 要么 左右括号不匹配 要么 匹配 新建一个栈 遇到 左括号 入栈 遇到 右括号 看是栈否为空 空的话 右括号多 然后 和 栈顶元素 比较 看是否匹配 匹配 出栈 顶元素 不匹配 左右不匹配 return ; for循环走完后 如果 栈 还是非空 则左括号多 return ; 全部走完后 return true ; class Solution { public boolean

2021-11-06 11:24:31 178

原创 循环队列问题

循环队列问题 个人思路: 设置一个 队头 front 队尾 rear 的 下标值 浪费一个位置 来判断数组是否满了 入队:如果满了 ,return false; 如果没满,在数组的 rear 处 入队 ,即队尾处入队 然后rear 走到下一个 不过注意: rear 不能直接++ 得 this.rear = (this.rear+1)%this.elem.length ; 否则 如果rear 是在最后 一个下标 就会出错 出队:判断是否为空 如果空了 retur fal

2021-11-06 11:22:26 404

原创 最小栈问题

需要俩个栈 一个普通栈 一个最小栈 个人思路: push :普通栈一定放进去 如果最小栈为空 也放进去 如果最小栈不为空 和最小栈顶元素比较 如果大于栈顶元素,则不放 小于等于栈顶元素,也放进去 pop:普通栈顶元素小于等于最小栈栈顶元素时 最小栈栈顶元素也得删除 class MinStack { private Stack<Integer> stack; private Stack<Integer> minStack; public

2021-11-06 11:19:38 126

原创 两个队列实现栈

栈: 先进后出 队列:先进先出 两个队列实现栈: 个人思路: 队列先进先出 栈先进后出 所以 需要俩个队列 q1 q2 然后 入栈 往非空的队列入 如果都为空 ,随便入 出栈的时候 如果都为空 return -1; 否则 ,把非空的 前 n-1个 元素 倒进 空栈 此时最后一个元素就是我们要求的 然后 return q.pool; int size = qu2.size(); //循环条件 //不能直接写 qu2.size()-1 会报错 因为每次去一个栈

2021-11-06 11:17:38 186

原创 两个普通栈实现队列

栈: 先进后出 队列:先进先出 两个栈实现队列 个人思路:俩个栈 s1 s2 s1只用来入栈 s2只用来出栈 出栈的时候 如果s2为空,就判断 s1是否也为空 如果s1也为空 就 return 否则 将s1的全部倒进s2 从s1 pop出来,s2 push进去 for 循环条件 不能 直接 i<s1.size(); 因为是一个变量 每次出一个 就会减一 peek : 全部倒进 s2 后 s2.peek() ; 就好 class MyQueue { pub

2021-11-06 11:14:56 68

原创 字符串的练习一

在一个长为 字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写,从0开始计数) 自己的思路: 建一个数组 大小为128 , 然后 遍历字符串 第一次遍历字符串, 将每一个字符,对应的下标,的值,加一 第二次遍历字符串, 将每一个字符,对应的下标,的值,如果等于一,则返回对应的 i 比如, 第一次遍历,字符a 对应的下标 是 97 如果 出现了 a 则在对应下标97的值加 1 , 第二次遍历,将 出现的字符对应的下标的值 和 1 作比较 , 如果是

2021-10-31 14:22:28 86

原创 String,StringBuffer,StringBulider

String类与StringBuffer类以及StringBulider类 1.任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指向而已。 2.通常来讲String的操作比较简单,但是由于String的不可更改特性,为了方便字符串的修改,提供StringBuffer和StringBuilder类。 3.在String中使用"+"来进行字符串连接,但是这个操作在StringBuffer类中需要更改append(); public class Te

2021-10-31 14:15:39 68

原创 抽象类和接口 二 二 二

排序 之 自定义对象 在 sort 方法中会自动调用 compareTo 方法. compareTo 的参数是 Object 其实传入的就是Student 类型(自定义)的对象. 然后比较当前对象和参数对象的大小关系(按分数来算). 如果当前对象应排在参数对象之前, 返回小于 0 的数字; 如果当前对象应排在参数对象之后, 返回大于 0 的数字; 如果当前对象和参数对象不分先后, 返回 0; public int compareTo(Object o) { Student s = (Stud

2021-10-31 14:05:33 69

原创 抽象类和接口一 一 一

抽象类的相关概念 //一个方法没有被具体实现 的话 要用 abstract 修饰 //抽象类:包含抽象方法的类 称为抽象类 //抽象方法:没有具体实现,所以 ,用 abstract 修饰 //注意: 1.抽象类不能被实例化 也就是不能 new 对象 //2.抽象类当中可以有和普通类当中一样的成员 就是不能够实例化 //3.如果 一个普通类继承了一个抽象类 这个普通类要重写抽象类中的所有抽象方法 //4.一个抽象类A 继承了抽象类B ,可以不重写抽象类B中的抽象方法 但是一旦

2021-10-31 13:46:19 73

原创 继承相关和多态初识

OOP语言的三大特性 封装 继承和多态 继承:优点:可以达到代码复用的效果 A extends B A : 子类 派生类 B : 基类 父类 超类 注意: 1.子类继承了父类除构造方法外的其他所有的 2.子类在构造的时候,要先帮助父类来进行构造 3.访问修订限定符 private < default < protected < public protected:不同包当中,只能是子类才能访问 private : 范围在 同一包的同一个类 public : 范围

2021-10-27 19:36:13 125

原创 初识MySql 一

数据库基本操作 1.创建: create database 2.指定: use 【数据库名称】 3.查看数据库: show databases; 4.删除数据库: drop database【数据库名】; 数据表操作: 1.创建表: create table 2.查看表结果: desc【表名】 3.查看当前有哪些表: show tables; 4.删除表: drop table【表名】 常用的数据类型: int decimal varchar text decimal(5,2)

2021-10-27 19:16:27 65

原创 双链表的基本相关方法

双链表 class Node { public Node prev; public int val; public Node next; public Node(int val) { this.val = val; } } public class MyDoubleList { public Node head ; public Node last ; //public Node head = new Node(-1);

2021-10-27 19:08:29 94

原创 单链表相关的面试题

面试题1:删除值为key的所有节点 要求只遍历一遍 public Node removeAllKey(int key) { if (this.head == null) { return null; } Node prev = this.head; Node cur = this.head.next; while (cur != null) { if (cur.data

2021-10-27 19:01:52 99

原创 单链表的增删改查

初识单链表 class Node{ public int data ; // 0 public Node next ; // null public Node(int data ){ this.data = data; this.next = null; } } public class MyLinkedList { public Node head; //保存单链表的头节点

2021-10-27 18:49:57 66

原创 顺序表的初步学习---Java

顺序表的初步学习 线性表:是具有n个相同特性的数据元素的有限序列。 常见的线性表:顺序表,链表,栈,队列,字符串。 顺序表:是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。 顺序表分为: 1.静态顺序表:使用定长数组储存。 2.动态顺序表:使用动态开辟的数组储存。 适用不同场景: 1 .静态顺序表适用于确定知道需要存多少数据的场景. 2 .静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用.相比之下动态顺序表更灵活, 根据需要动态的分配空间大小. 顺序表练习 1

2021-10-22 20:07:52 59

原创 方法,数组及类和对象的初步认识

方法的相关定义 1.public static 返回值 方法名(形式参数列表){ 方法体 } 2.方法名:采用小驼峰 maxNum 3.public static : 因为当前所有的方法 写完之后 会在main方法中调用 因为main方法是public static 的 4.返回值 可有可无 具体看业务需求 如果有返回值 那么返回值类型需要和方法的返回值类型匹配 5.形式参数列表: 形参----->实参的一份拷贝 形参相当于实参的拷贝,即传值调用 6.方

2021-10-22 20:03:39 106

原创 Java的基本数据类型及运算符

1.数据类型分为 基本类型 和 引用类型 基本类型:byte,short,char,int,float,double,long,boolean 引用类型:数组,接口,类,string等等 2.转义字符 在前面加一个 \ 转义类型 解释 \n 换行 \t 水平制表符 ’ 单引号 " 双引号 \ 反斜杠 3.字符串的拼接 + 代表的是拼接 任何与字符串拼接之后结果都为字符串 4.变量的作用域:变量可以作用的范围 public static void main(

2021-10-12 21:28:02 205

原创 初识Java

Java的一大特性:一次编译,到处运行 1.public:公有的(关键字) 2.class: 定义类 结构体的高配版本 3.TestDemo:类名 4.类名 {类体(属性或方法)} 5.static:静态的。 6.String[] args 数组 ------------------------ 后面跟的代表的是运行时的命令行参数 7.String 字符串类型 8.简单类型除boolean外,赋值的时候都不能够超过最大赋值范围, 如 byte a = 128; 是错的 byte b = 127

2021-10-11 21:03:35 50

空空如也

空空如也

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

TA关注的人

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