- 博客(91)
- 资源 (1)
- 收藏
- 关注
原创 2021-09-19
题目:给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空class Solution { public boolean backspaceCompare(String s, String t) { int S_Len = s.length(), T_Len = t.length(); char[] S_arr = s.toCharArray(), T_a
2021-09-19 22:18:08
192
原创 什么是递归?
递归在我们平常的练习中经常会使用到,那么到底什么是递归呢?递归: 它是指一段程序直接或者间接调用自身的一种方法,通过这种形式执行需要进行一些固定步骤的许多操作,它可以把一个复杂并且庞大的问题简单化,通过专注于解决它分化出来的小问题从而解决大问题,从而大大减少我们的代码量,是提高我们编码效率的很好方法。递归的表现:a.我们在两面相对的镜子之间放一根正在燃烧的蜡烛,我们会从其中一面镜子里看到一根蜡烛,蜡烛后面又有一面镜子,镜子里面又有一根蜡烛……b.平常我们需要写一篇论文,拿到笔了,却不知道做什么,这时
2021-09-18 18:16:45
11239
原创 2021-09-18
题目:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]提示:0 <= nums.length <= 3000-105 &
2021-09-18 14:16:26
194
原创 2021-09-18
题目:存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现的数字,返回同样按升序排列的结果链表。示例 1:输入:head = [1,2,3,3,4,4,5]输出:[1,2,5]/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode()
2021-09-18 13:24:49
108
原创 求最大子序和
题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-100000]输出:-100000class Solut
2021-09-17 16:15:58
68
原创 输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1‘ 的个数(也被称为汉明重量)。
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。示例 1:输入:0000000000000000000
2021-03-22 15:12:12
2527
原创 Vue之v-bind
在Vue中,v-bind用于绑定html内容,可以简写为 : 格式为 v-bind:属性名=”…”如<a v-bind:href=”...”></a> = <a :href=”...”></a>其中典型的属性是class和style,如<a v-bind:href="https://www.baidu.com">click here</a>--->将会渲染成:<a href="https://www.baidu
2021-02-15 12:00:43
295
原创 Vue 之split/join/reverse
<div id="demo">{{message.split('').reverse().join('')}}</div><script> var vm=new Vue{ el:"#demo", data:{ message:"Hello" } }</script>其中,split(’’)是把字符串拆分成一个数组,reverse()是将数组顺序置反,只针对于数组,join(’’)是将数组内容链接起来组成一个字符串...
2021-02-15 10:15:05
256
转载 mysql 连接错误The server time zone value ‘?????????±?????????±???¤‘ is
解决办法:在连接字符串后面加上?serverTimezone=UTC其中UTC是统一标准世界时间。完整的连接字符串示例:jdbc:mysql://localhost:3306/test?serverTimezone=UTC或者还有另一种选择:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8,这个是解决中文乱码输入问题,当然也可以和上面的一起结合:jdbc:mysql://127.0.0.1:330
2020-12-13 17:39:58
287
原创 Java之网络编程TCP通信
一、一些相关知识概念查看本机IP地址,在cmd中,输入命令:ipconfig ;使用ping+空格+IP地址,即可查看本计算机是否可与该IP地址对应的计算机进行通讯 ;本机IP地址统一为:127.0.0.1 ;本机的域名统一为:localhost (它也代表了本地的IP地址)端口号是一个逻辑接口,我们无法直接看到,可以使用一些软件查看端口号,当我们使用网络软件一打开,那么操作系统就会为网络软件分配一个随机的端口号或者网络软件在打开的时候和系统要指定的端口号端口号是由两个字节组成(0-65535
2020-12-11 13:41:18
178
原创 学习笔记:获取网页部分数据
package com.company;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import java.net.URLEncoder;import java.util.Scanner;public
2020-12-10 16:20:42
139
原创 Java之线程池
package com.company;import java.util.concurrent.Executors;import java.util.concurrent.ExecutorService;import java.util.concurrent.ThreadFactory;class th1 implements Runnable{ @Override public void run() { System.out.println(Thread.curr
2020-12-09 18:06:56
77
原创 MySQL之join/where的用法
join、where关键字都可用于表与表之间的连接,join又分为了内连接和外连接,where又有等值与非等值连接和自身链接。一、where关键字连接查询的where子句中用来连接两个表的条件称为连接条件或连接谓词格式:where [表名.]<列名1><比较运算符>[表名.]<列名2>…比较运算符主要有:= 、> 、< 、>= 、<= 、!= 、<> 还有 and 和between 等当连接运算符为=时为等值连接,其它的是非
2020-12-07 17:29:02
7494
原创 Java之线程练习题:(解法2)用一个线程每隔1秒显示系统日期时间,另一个线程打印一个大数的所有因子,当质数计算完毕后,停止时间的显示
题解二:package com.company;import java.util.Date;import java.util.Scanner;import java.util.concurrent.ExecutionException;/*编写一个程序:用一个线程每隔1秒显示系统日期时间,另一个线程打印一个大数的所有因子,当质数计算完毕后,停止时间的显示 */class thread1 implements Runnable{ public void run(){
2020-12-03 22:17:43
909
原创 Java之线程练习题:(解法1)用一个线程每隔1秒显示系统日期时间,另一个线程打印一个大数的所有因子,当质数计算完毕后,停止时间的显示
题解一:处理问题:1、为什么使用了isAlive判断线程状态后,使用interrupt方法为什么还是无法中断线程—>对策:多次判断再中断2、同时使用sleep和interrup产生的sleep interrupted问题—>对策:使用Lock锁package com.company;import java.util.Date;import java.util.Scanner;import java.util.concurrent.ExecutionException;imp
2020-12-03 22:14:50
804
原创 MySQL之on delete/update的使用
MySQL支持外键的存储引擎只有哦InnoDB,在创建外键时,要求父表必须有对应的引索,子表在创建外键时也会自动创建对应的引索。在创建引索时,可以指定在删除/更新父表时,对子表进行相应的操作:restrict、no action、cascade、set null。外键约束–on delete(1) restrict :当在父表中删除对应记录的操作时,首先检查该记录是否有对应外键,如果有,则不允许删除父表。(2)no action:跟restrict一样,不允许删除主表对应的数据。(3)cascade
2020-11-30 18:01:52
797
原创 MySQL之练习建表
创建以下两个表:#请在此添加创建开课信息表的SQL语句########## Begin ##########use universityDB;create table instructor( ID varchar(5) primary key, name varchar(20) not null, dept_name varchar(20), salary numeric(8,2) check(salary>29000), foreign key(de
2020-11-30 17:29:52
341
原创 JDBC事务
事务:完成一件事情的数据库操作语句共同构成了一个事务。事物的基本要素:①原子性:一组事务,要么全部成功完成,要么全部不完成②一致性:事务开始前和结束后,数据库的完整性约束没有被破坏。如:A向B转账,那么A扣了钱,B则一定会收到。③隔离性:每个事务独立运行。一个事务处理后的结果,影响了其他事务,那么其它事务会撤回(不完成)。事物的100%隔离,需要牺牲速度。④持久性:事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚1、开启事务需要先把JDBC驱动程序的自动提交模式关闭,使用setAu
2020-11-28 20:48:35
117
1
原创 Java之PreparedStatement 的使用
先看一段代码: try { Statement statement = conn.createStatement(); statement.executeUpdate("insert into table1(column1,column2) values(101,'xxx')"); } catch (SQLException e) { e.printStackT\frace(); }其中,是直接使用了Statement向表中插入数据
2020-11-28 17:35:31
1184
原创 Java之城堡游戏设计的优化
我们再来回顾一下题目:一、城堡游戏介绍:1.这个程序的任务是通过玩家的输入的方向(纯文字)在虚构的城堡内移动(以纯文字作为移动后的返回结果)。2.这个程序接受help、bye、go south、go north、go west、go east六种命令,要求命令单独一行输入并在结束时敲回车,另外如果接受go xxx的不合规信息会输出不存在这样的房间。3.help提供帮助信息,bye结束游戏,go后面空一格加south、north、west、east表示在虚构的城堡中移动。4.有五个地点,分别是:小酒
2020-11-28 15:14:55
612
1
原创 Java之城堡游戏设计
一、城堡游戏介绍:1.这个程序的任务是通过玩家的输入的方向(纯文字)在虚构的城堡内移动(以纯文字作为移动后的返回结果)。2.这个程序接受help、bye、go south、go north、go west、go east六种命令,要求命令单独一行输入并在结束时敲回车,另外如果接受go xxx的不合规信息会输出不存在这样的房间。3.help提供帮助信息,bye结束游戏,go后面空一格加south、north、west、east表示在虚构的城堡中移动。4.有五个地点,分别是:小酒吧,大厅,书房,卧室,次
2020-11-28 14:03:57
1265
原创 编写一个学生管理系统的JDBC程序
package com.company;import com.mysql.cj.protocol.Resultset;import java.sql.*;import java.util.Scanner;public class Main<ex> { public static void main(String[] args)throws ClassNotFoundException, SQLException { Connection conn=null;
2020-11-27 10:24:41
303
原创 练习编写一个JDBC程序。
编写一个JDBC程序,实现以下要求:创建一个名为tb_user表,对该表实现插入、修改、查询、删除操作在IntellijIdea中:1、下载mysql驱动2、在我们的项目中新建一个bin目录,并把下载的驱动中的 mysql-connection-java-8.0.22.jar复制粘贴到bin目录下3、右键我们复制粘贴好的驱动->点击:Add as library…4、就可以写代码啦package com.company;/*编写一个JDBC程序,实现以下要求:创建一个名为tb_u
2020-11-26 17:12:37
3792
原创 java之抽象方法/接口/内部类介绍
内容组成:1、抽象方法2、接口3、成员内部类4、局部内部类5、匿名内部类抽象方法用来干什么呢?当我们想要定义一个类的时候,通常会需要定义一些方法来描述这个类的行为特征,但是,当我们又还没想好要具体实现一个怎样的方法的时候,抽象方法就派上用场了。抽象方法必须使用abstract关键字修饰,不需要实现它的方法体。当一个类中含有了抽象方法,那这个类就是抽象类,相应地也需要abstract关键字来修饰。抽象方法的基本语法格式:[修饰符] abstract class 类名{ [修饰符] abs
2020-11-21 22:23:55
100
原创 java之通过Callable创建线程,以输出斐波那契数列为例
首先我们先了解一下Callable接口Callable接口可以满足我们既能创建线程,又可以有返回值的需求。(Thread类和Runnable接口实现多线程时,不能同时获得返回值。)经查询,Callable只有一个方法call实现多线程的方式与Runnable接口一样,都是通过Thread类的有参构造方法传入Runnable接口类型的参数来实现多线程,不同的是,这里传入的是Runnable接口的子类FutureTask对象作为参数,而FutureTask对象中则封装带有返回值的Callable接口实现类
2020-11-21 11:34:41
415
1
原创 通过Thread和Runnable创建线程的两种方式(举例说明)
线程与进程:①在多任务操作系统中,每个运行的程序都是一个进程,用来执行不同的任务,而一个进程中可以有多个执行单元同时运行,来同时完成一个或多个程序任务,这些执行单元就成为线程。②每一个进程中至少存在一个线程。当一个Java程序启动时,就会产生一个进程,该进程回默认创建一个线程,在这个线程上运行main()方法中的代码。两者的区别:调度:进程拥有资源; 线程是调度和分派的基本单位; 同一进程中线程的切换不会引起进程的切换,但是进程与线程间的切换会导致资源的切换。并发性:进程之间可以并
2020-11-21 09:47:17
293
原创 Java之Properties类解析
Map接口有一个实现类Hashtable,而Hashtable中存在Properties这一子类。Properties类在实际应用中非常重要。不同的编程语言有着不同的配置文件,而且配置文件里的很多变量是要经常做修改的,为了方便用户配置,让用户能够脱离程序本身去修改相关的变量配置,这时候Properties就派上用场了。它主要用来存储字符串类型的键和值,在实际开发中,经常使用它来存取应用的配置项。Properties中的方法:其中的一些常用方法:1、public Properties() 创建
2020-11-20 22:27:16
601
原创 MySql中的使用limit实现分页查找
我们可以通过limit 实现对一个表数据的分页,现在我们来看一看吧!分页公式:page_num=(total_record+page_size-1) / page_size**其中page_num :为分成的总页数total_record :为表中的记录总数page_size :为分成的每一页中包含的记录数limit n表示从第0条记录开始(即偏移量为0)的n个记录limit m,n表示从第m条记录开始的n个记录。limit中记录的索引是从0开始的。那当我要从第current_pag
2020-11-19 22:24:45
594
原创 JAVA中的接口与类的关系
接口的基本概念虽然编写接口的方式和类很相似,但接口并不是类,它们是不同的两个概念。类描述对象的属性和方法,接口则包含类要实现的方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。接口与类的相似点一个接口可以有多个方法。接口文件保存在 .java 结尾的文件中,文件名使用接口名。接口的字节码文件保存在 .class 结尾的文件中。接口相应的字节码文件必须在与包名称相匹配的目录结构中。接口与类的区别接口没有构造方法。接口中所有的方
2020-11-19 16:39:08
602
原创 java练习之应用JFrame窗口中的各种组件。编写一个JFrame窗口,要求如下: (1)窗口中的NORTH区域中放置一个JPanel面板。 (2)JPanel面板从左到右依次放置如下组件: ①1个
/*2、编写一个JFrame窗口,要求如下:(1)窗口中的NORTH区域中放置一个JPanel面板。(2)JPanel面板从左到右依次放置如下组件:①1个JLabel标签,标签的文本为”兴趣“。②3个JCheckBox多选按钮,文本分别为”羽毛球“”乒乓球“”唱歌“。③1个JLabel标签,标签的文本为”性别“。④两个JRadioButton按钮,文本分别为”男“”女“。(3)窗口的CENTER区域放置一个JScrollPane容器,容器中放置一个JTextArea文本域。(4)当单击多选
2020-11-19 13:12:20
4154
原创 Java练习之获取单击鼠标时鼠标所在的位置坐标编写一个JFrame窗口,要求如下: (1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键单击的坐标” (2)为JFrame
/*1、编写一个JFrame窗口,要求如下:(1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键单击的坐标”(2)为JFrame窗口添加一个鼠标事件,当鼠标右键单击窗口时,鼠标的坐标在JLabel标签中显示*/package com.company;import javax.swing.*;import java.awt.*;import java.awt.event.MouseEvent;import java.awt.event.MouseListene
2020-11-19 11:17:38
2120
原创 SQL之提取子字符串--使用substr\charindex\patindex
当我们要获取一个字符串的字串时,我们可以用substr函数来实现喔,现在我们来看看它的用法吧!substr(string ,start, length)1、string :要被截取的字符串2、start :截取的字串开始的位置,【必填】,为正数时,是从左往右数的第start个字符,为负数时,是从右往左数的第| start | 个字符。它默认值是1,若是填错成0时,它会默认为默认值1。3、length :截取的字串的长度,【可选】,缺省时返回字符表达式的值结束前的全部字符。我们来看一个简单的例子:
2020-11-17 22:46:01
4192
原创 Java练习之开发一个图片查看器,只显示文件夹下所有图片类型的文件。
本关任务:小明想要开发一个图片查看器,但是他想只显示文件夹下所有图片类型的文件。你来帮小明实现这个功能吧。要求:1、实现对给定文件夹目录结构的展示,并以文件名按升序排序的形式打印至控制台。2、如果是文件夹则在其名字之前加上±-,若是文件则加上–,上级目录与下级目录、下级文件用两个空格作为间隔,3、另外需要对文件进行过滤,只显示图片类型的文件,本关需要过滤的图片文件类型有:“jpg,png,bmp”,请补充完善右侧代码区中的showDirStructure(File file)函数实现本关要求的功能
2020-11-16 16:48:13
783
原创 Java练习之实现一个文件查看器,要实现指定文件夹下所有文件以及文件夹目录结构的展示。
任务:实现一个文件查看器,要实现指定文件夹下所有文件以及文件夹目录结构的展示。要求:1、实现对给定文件夹目录结构的展示,并以文件名按升序排序的形式打印至控制台。2、如果是文件夹则在其名字之前加上±-,若是文件则加上–,上级目录与下级目录、下级文件用两个空格作为间隔,补充完善右侧代码区中的showDirStructure(File dir)函数实现要求的功能,其中函数参数含义如下:.dir:指定要显示的文件夹样例1输入:src/step3/root输出:样例2输入:src/step3/di
2020-11-16 15:40:09
1548
原创 JavaFX Scene Builder的详细下载与安装
点击下载地址:JavaFX Scene Builder下载链接进去后的页面如图:点击:这时候会要你登录或者注册Oracle账户,这一步完成之后就会出现一个安装程序:安装完成后会出现:之后,打开IntellijIdea,点击 File->Settings…然后回到界面,点击 File->Project Structure将IDEA的JDK定义为7及以上的版本点击:找到你电脑上JDK的安装路径(我的是这个)再点击 ok->ok接下来,指定Scene Builder的
2020-11-15 22:07:14
10508
1
原创 MySql之length函数
1、length:返回字符串所占的字节数select length("10,A,B");2、char_length:返回字符串的字符数select char_length("10,A,B");归纳:应用场景1.查询字符串长度length(str)2.查询列最大字符串长度max(length(str))3.查询某个字符出现几次 length(str1)-length(replace(‘str1’,’str2’,”))4.length求得是字符长度。 【1个中文、英文字母、数字、中文
2020-11-15 11:33:27
7740
原创 MySql之concat函数、concat_ws、group_concat函数解析
想要实现字段与字段间的连接,可以使用concat方法和concat_ws方法concat(str1, str2,…) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。这里建立了一个简单的表:use mydb;CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,PRIMARY
2020-11-15 11:08:54
427
原创 创建外键约束
给表创建外键约束有两种方法方法一:在创表的同时添加外键约束use datebase; CREATE TABLE employees_test(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY REAL);CREATE TABLE audit(EMP_no INT NOT NULL,create_date datetime NOT NULL,foreign k
2020-11-15 10:06:12
3022
1
原创 重新给表命名/修改表名。rename的使用
首先我们先看一下数据库中现在有什么表show tables; 两种方式修改表名:rename table titles_2017 to titles_2020;alter table titles_test rename to titles_test1; show tables;另外:mysql中修改表信息的规则。alter table 表名 change 原列名 新列名 类型; --修改表的列属性名alter table 表名 modify 列名 类型 ; --修改表的类类型a
2020-11-15 09:35:01
3806
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人