- 博客(57)
- 收藏
- 关注
原创 牛客网Java专项练习(6)
第一题:覆盖(重写)与重载的关系是(A)。A.覆盖(重写)只有出现在父类与子类之间,而重载可以出现在同一个类中B.覆盖(重写)方法可以有不同的方法名,而重载方法必须是相同的方法名C.final修饰的方法可以被覆盖(重写),但不能被重载D.覆盖(重写)与重载是同一回事重载和重写都是多态的一种体现方式。重载是编译期间的活动,重写是运行期间的活动。重载是在一个类中定义相同的名字的方法,方法的参数列表或者类型要互相不同,但是返回值类型不作为是否重载的标准,可以修改可见性;重写是不同的,要求
2020-11-25 23:37:12
390
原创 Java每日一题:496. 下一个更大元素 I
这是我在Leetcode中做过的一个题——验证回文字符串 Ⅱ,我把它分享给你们:这是原题链接:https://leetcode-cn.com/problems/valid-palindrome-ii/如果感觉我做的还行的话,记得点赞。思路分析:通过Stack、HashMap解决先遍历大数组nums2,首先将第一个元素入栈; 继续遍历,当当前元素小于栈顶元素时,继续将它入栈;当当前元素大于栈顶元素时,栈顶元素出栈,此时应将该出栈的元素与当前元素形成key-value键值对,存.
2020-11-22 14:11:23
373
2
原创 Java每日一题:验证回文字符串 Ⅱ
这是我在Leetcode中做过的一个题——验证回文字符串 Ⅱ,我把它分享给你们:这是原题链接:https://leetcode-cn.com/problems/valid-palindrome-ii/如果感觉我做的还行的话,记得点赞。题目截图:思路分析:回文问题:一般看见回文,就要想到要用两个指针i跟j,i从前向后,j从后到前,一起进行遍历,把i跟j上的数进行比较,如果相同,i++,j--。直到i<j为止。如果都相同,说明他是回文,有一项不同,那就说明他不是回文。...
2020-11-22 11:06:51
302
原创 模拟在线人数统计和网站的访问量
1.模拟在线人数统计和网站的访问量2.模拟注册和登陆的功能的实现。注册,相当于往表中插入数据;登陆,相当于要查询数据和前端页面的数据进行匹配//更新数据public void UpDate(ServletContext sc) { Properties pro = new Properties(); String n; String filePath = "/Users/ruirui/Desktop/count.txt"; InputStream in = null; try {.
2020-08-06 10:07:49
414
1
原创 mybatis的源码流程图
今天我主要来对Mybatis的底层源码进行分析,主要是以下4行代码: InputStream is=Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(is);SqlSession session = sqlSessionFactory.openSession();UserMapper ma.
2020-08-05 21:28:12
491
原创 每周小知识——行级锁 表级锁 乐观锁 悲观锁
MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储引擎的锁定机制也有较大区别。表级锁:表级别的锁定是MySQL各存储引擎中最大颗粒度的锁定机制。该锁定机制最大的特点是实现逻辑非常简单,带来的系统负面影响最小。所以获取锁和释放锁的速度很快。由于表级锁一次会将整个表锁定,所以可以很好的避免困扰我们的死锁问题。当然,锁定颗粒度大所带来最大的负面..
2020-07-21 22:51:43
348
原创 MySQL小练习——做一个User表
做一个User表:Id username password roleId能够实现对User表的持久化操作 进行 增 删 改 查操作 CURD使用 mybatis Jdbc statement preparedStatement写测试 测试这五个方法:Public User query(String id);Public List query(String username) 模糊查询Public void update()Public void insert()Public...
2020-07-21 22:35:22
1059
原创 封装和面向对象
封装:在面向对象的设计方法中,封装是指将一些抽象式的函数接口的实现细节部分包装起来的方法,在降低代码内部的耦合性的同时保护该类的代码和数据被外界随机访问。我们可以对成员变量进行更精确的控制,对类的内部结构可以进行自由的修改。面向对象:①面向对象是一种编程思想,在面向对象这种编程思想出现以前,主流的是以c为首的面向过程的语言,它更多的是按照计算机处理事务的思想来编写代码,被称为函数,这种编程思想对我们人类来说太复杂,不符合我们人类的思考方式,因此面向对象的编程思想孕育而生。②万物皆为对象,只要
2020-07-15 00:43:55
167
原创 每周小知识——Statement和PreparedStatement的区别
Statement和PreparedStatement的区别:1.PreparedStatement对象对SQL语句做了预处理,能防止SQL注入的问题,而Statement对象直接使用用户输入的SQL语句,可能会发生SQL注入的问题,在安全性上前者更好.2.如果带有不同参数的同一SQL语句被多次执行的时候,PreparedStatement对象比Statement对象更有效。3.PreparedStatement对象允许数据库预编译SQL语句,这样在随后的运行中可以节省时间并增加代码的可读性和可维护
2020-07-15 00:37:46
564
原创 简略了解SQL查询语句关键字的执行顺序
SQL查询语句的关键字执行顺序(从左到右优先级越低)from where group by having select order byFROM:将数据插入内存WHERE :用where过滤器对数据进行过滤,将满足条件的留下GROUP BY : 会将刚刚的结果的临时表进行切分成若干个临时表HAVING:对结果进行过滤,形成一张新表。ORDER BY:对数据进行排序select:查询...
2020-07-15 00:35:00
328
原创 抽象类能创建对象吗?
什么是抽象类呢?在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类是不能创建对象的原因:1.子类更具体,父类更抽象,直接创建父类对象本身没有意义。2.如果创建的是父类对象再调用方法的时候,调用的父类中的方法,而非子类的方法,它违背了多态的这种思想和设计3.因为父类引用指向子类对象时,调用的方法是子类重写的方法,一般父类中的描述不够具体,并不是说抽象类的构造方法没有意.
2020-07-15 00:27:20
8455
原创 DBC代码封装
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.List;public abstract class JDBC { private static String url = "jdbc:mysql://localhost:3306/de.
2020-07-08 12:48:30
450
原创 MYSQL——数据库sql语句小练习(1)
现在有一教学管理系统,具体的关系模式如下:Student (no, name, sex, birthday, class)Teacher (no, name, sex, birthday, prof, depart)Course (cno, cname, tno)Score (no, cno, degree)一个学生对应许多课程。一个课程对应多个学生一个老师对应一个课程 一个课程对应一个老师一个学生对应一个分数 一个分数对应多个学生Course表:Score表:
2020-07-08 12:43:06
770
原创 牛课网-题目分享5
题目1:设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为()。正确答案: D top=top+1;top=top-1;top->next=top;top=top->next;详解:首先注意题目中说的是链式,所以排除AB; 然后C选项形成了一个环; D选项,让top跳过原来的top指向下一个位置(一般是null),原top指的那个没人指了,即...
2020-03-18 23:36:23
1326
原创 牛客网-题目分享(4)
题目1:栈和链表是两种不同的数据结构()。正确答案: A 正确错误解析:栈和链表是两种不同的数据结构。 栈是逻辑结构的概念,是特殊殊线性表,而链表是存储结构概念,二者不是同 类项题目2:若有以下定义和语句: 1 inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是:() ...
2020-03-18 23:15:50
1228
原创 牛客网-题目分享(3)
我会不定期的再这个分组,更新一些我做过的牛客网例题,感谢大家阅读题目1:下列关于栈的叙述正确的是( )。正确答案: 栈按“先进后出”组织数据栈按“先进先出”组织数据 栈按“先进后出”组织数据 、只能在栈底插入数据 不能删除数据解析:栈只能在栈顶插入和删除数据。队列只能在队尾插入数据,在队首删除数据题目2...
2020-03-18 22:50:58
1334
原创 每日分享——Java面向对象
前面我们说的都是一些Java的基础话题,从今天开始我就开始说一下Java的面向对象,到底什么是面向对象呢?又为何要使用面向对象呢,今天我记来说一下。感谢大家阅读。面向对象要说面向对象,我们首先要弄明白面向过程,之前像我所写的代码都是直接在主函数里面书写,它其实就是面向过程。面向过程,核心是过程两个字。过程即解决问题的步骤,它考虑的是实际地实现,针对一个特定的问题去思考其解决步骤。一...
2020-03-14 22:59:49
198
原创 一起完成letcode——LeetCode-1. 两数之和
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/two-sum/如果感觉我做的还行的话,记得点赞。给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:...
2020-03-14 22:40:26
156
1
原创 Java每日一题:LeetCode-289. 生命游戏
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/plus-one/如果感觉我做的还行的话,记得点赞。
2020-03-03 19:21:02
276
原创 Java每日一题:LeetCode-66. 加一
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/plus-one/如果感觉我做的还行的话,记得点赞。解题思路:这个题我刚开始用遍历的方法,遍历出来数字+1,最后发现这种方法最后有可能出现整型溢出,所以不能用,我这里也不建议你采取这个方法。假如说每一位都等于9,算到最后还要进位,极有可能会整型溢出,还要创建...
2020-02-24 01:11:32
140
原创 Java每日一题:LeetCode-209. 长度最小的子数组
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/find-pivot-index/如果感觉我做的还行的话,记得点赞。解题思路:这个题:相当于左右两边不包括中心索引,两部分相同,那我就假设每一个数都有可能是中心索引,看看:总数-中心索引左边的元素和-中心索引是否等于右边所有元素的和,就解决了这个问题...
2020-02-24 01:11:25
206
原创 Java每日一题:LeetCode-724. 寻找数组的中心索引
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum/如果感觉我做的还行的话,记得点赞。给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = ...
2020-02-24 01:11:14
185
原创 Java每日一题:LeetCode-561. 数组拆分 I
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/array-partition-i/如果感觉我做的还行的话,记得点赞。给定长度为2n的数组, 你的任务是将这些数分成n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到n 的 min(ai, bi) 总和最大。...
2020-02-24 01:11:00
583
原创 Java每日一题:LeetCode-1295. 统计位数为偶数的数字
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/find-numbers-with-even-number-of-digits/如果感觉我做的还行的话,记得点赞。给你一个整数数组nums,请你返回其中位数为偶数的数字的个数。示例 1:输入:nums = [12,345,2,6,7896]输出:2...
2020-02-24 01:09:27
369
原创 Java每日一题:LeetCode-674. 最长连续递增序列
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence/如果感觉我做的还行的话,记得点赞。解题思路:这个题我采用如下方法,从头开始,依次判断后续是否递增,统计大小,把这个整体向后移动依次判断统计大小。每次进行比较,比出长度最...
2020-02-23 17:49:06
219
原创 Java每日一题:LeetCode-1013. 将数组分成和相等的三个部分
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/partition-array-into-three-parts-with-equal-sum/如果感觉我做的还行的话,记得点赞。解题思路:他让分成三部分,且每一部分大小相等,那不就意味着是,每一部分都等于总大小的1/3,如果数字加下去不等于这个值就不是,等...
2020-02-23 17:35:55
1411
1
原创 Java每日一题:LeetCode-283. 移动零
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/move-zeroes/如果感觉我做的还行的话,记得点赞。思路分析:这个题有两个要求:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数就是不建立新数组,情况下接这个题:我的思路是建立两个指针:k和i。1.刚开始k等于0,i从零开始遍...
2020-02-23 17:26:31
205
原创 Java每日一题:LeetCode-169. 多数元素
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/majority-element/如果感觉我做的还行的话,记得点赞。思路分析:这个题我写了两种方法:1.直接给他排序,然后返回中间的值2.第二种比较省内存:就像消消乐那种,再数组中找一个数并记count=1,再找一个数进行比较,如果数字相同的话,那就...
2020-02-23 17:13:40
212
原创 Java每日一题:LeetCode-1313解压缩编码列表
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/decompress-run-length-encoded-list/如果感觉我做的还行的话,记得点赞。思路分析:这道题是让我们考虑每对相邻的两个元素,每一对都表示解压后有a个值为b的元素。1.遍历nums数组中偶数角标,把每个角标加起来,这就能得到一个...
2020-02-23 16:59:22
148
原创 Java每日一题:LeetCode-905按奇偶排序数组
这是我做过的一个题,我把它分享给你们:这是原文链接:https://leetcode-cn.com/problems/sort-array-by-parity/如果感觉我做的还行的话,记得点赞。思路分析:这道题是就是让我们调整给定的A数组里面的元素,把偶数放在前面,奇数放在后面,其实很简单。1.定义两个变量l和r,l从数组第一个元素开始往后走,r从数组最后一个元素开始往...
2020-02-23 16:51:22
175
原创 Java补充
前面给大家说了一些关于Java的基础知识,今天我就吧我以前没说详细的东西补充一下String[ ] argsString[] args是main函数的形式参数,可以用来获取命令行用户输入进去的参数。具体使用方法如下:这个就是给主函数中的args输入长度,可直接运行。它主要用在当我们执行Java程序(Java 字节码文件)的时候,可以指定一些参数。另外说一下,这里面args的...
2020-02-23 16:34:40
147
原创 八皇后案例-Java
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种计算机语言可以解决此...
2020-02-23 14:42:50
239
原创 牛客网-排序题目分享(2)
第一题在下列排序算法中,哪一个算法的时间复杂度与初始排序无关( )。正确答案: D 你的答案: D (正确)直接插入排序气泡排序快速排序直接选择排序堆归选基与初始序列无关 快选希堆排序不稳定就是说堆排序,归并排序,选择排序,基数排序与他自己的初始序列无关,不会因为他初始数列改变而改变,而快速排序,选择排序,希尔排序。对排序都不稳定,可能出现,相同大小的数字,相对排序不...
2020-02-23 12:35:34
2423
原创 牛客网-排序题目分享(1)
我这几天刚刚了解了牛客网,这是个能够帮助我们这些学习者更好的掌握知识的地方,从今天开始,每一天我都会把自己今天所做的题分享给大家,也当是给自己做的一个错题本,如果有错误的话,希望能够及时和我沟通,感激不尽。第一题顺序存储结构的主要缺点是不利于插入或删除操作()A 对 B错正确答案:对详解:顺序存储结构是存储结构类型中的一种,该结构是把逻辑上相邻的结点存储在物理位置上相邻的存储单元...
2020-02-23 12:16:37
507
原创 Java编程题(8)
这是我第8次给大家分享题,如果想看看以前的例题,请点开我的博客,查看作业分栏。谢谢收看。Demo05_03这个题说难也不难就分为两部1.获取用户的输入 只不过第一个输入的数据时数据的个数(数组的长度)2.对数组进行有序的判断只不过第二步判断需要一点思想:import java.util.*;class Demo05_03{ public static void main...
2020-02-18 17:57:39
181
原创 Java编程题(7)
这是我第7次给大家分享题,如果想看看以前的例题,请点开我的博客,查看作业分栏。谢谢收看。Demo04_04我们平常经常会碰到密码:密码有一些要求,我们只需要把每个要求用个子的方法写出来,再调用比较就行这个题步骤分析://1.先提示用户输入密码(String password)//2.将密码传入 boolean isValid(password)//3.isValid()//3....
2020-02-18 17:33:23
218
原创 数组扩容
数组是我们经常使用的东西,我们再使用中好多次都会出现要扩容数组的情况,那到底怎么扩容数组呢?下面我就给大家说一下我们都知道数组创建下来后就不能改变数组的大小了,有时我们只能重新创建个数组,重新赋值。那所谓的数组扩容无非就是创建一个新的数组 将元素赋值进去之后将新数组的地址返回即可:下面是代码演示:原始数组【1,2,3】现想要加入10这个数组:class Test01{ ...
2020-02-18 17:09:59
348
原创 计数排序
排序算法有很多,包括插入排序,冒泡排序,堆排序,归并排序,选择排序,计数排序,基数排序,桶排序,快速排序等。插入排序,堆排序,选择排序,归并排序和快速排序,冒泡排序都是比较排序,它们通过对数组中的元素进行比较来实现排序,其他排序算法则是利用非比较的其他方法来获得有关输入数组的排序信息。计数排序计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的...
2020-02-18 17:01:47
153
原创 冒泡排序
排序算法有很多,包括插入排序,冒泡排序,堆排序,归并排序,选择排序,计数排序,基数排序,桶排序,快速排序等。插入排序,堆排序,选择排序,归并排序和快速排序,冒泡排序都是比较排序,它们通过对数组中的元素进行比较来实现排序,其他排序算法则是利用非比较的其他方法来获得有关输入数组的排序信息。冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元...
2020-02-18 16:48:02
172
原创 插入排序
排序算法有很多,包括插入排序,冒泡排序,堆排序,归并排序,选择排序,计数排序,基数排序,桶排序,快速排序等。插入排序,堆排序,选择排序,归并排序和快速排序,冒泡排序都是比较排序,它们通过对数组中的元素进行比较来实现排序,其他排序算法则是利用非比较的其他方法来获得有关输入数组的排序信息。插入排序插入排序(Insertion sort)是一种简单直观且稳定的排序算法。假设数列第一个元素为已排序数列...
2020-02-18 16:29:37
138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人