- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 Leetcode 14:最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"
2021-04-25 21:36:04 104
原创 Leetcode 1:两数之和(java)
题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。
2021-04-25 21:02:09 90
原创 Leetcode 169:多数元素(java)
题目:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。
2021-04-25 20:45:16 97
原创 Leetcode 136:只出现一次的数字java
题目 :给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
2021-04-25 12:42:53 86
原创 数组去重后输出(无序数组)
题目:已知有一个无序的数组中存在重复的元素,要求去掉重复元素后输出新数组。分析:set中的元素是不能重复的。所以我们可以先判断set中有没有该元素,如果没有就进行添加到set中,直到遍历完所有数组元素,最后set输出为数组,使用set的toArray方法,可以将set转为数组存储。代码片段:public static Object[] remove(int[] nums){ Set<Integer> set=new HashSet<>(); f
2021-04-16 00:02:07 536
原创 LeetCode:剑指offer53-II,找到缺失的数(有序数组)
题目:一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。分析:二分法适用于已经排好序的数组的查找。所以这个题目中我们使用二分法进行查找。先将数组一分为二,将中间下标数组的值和下标进行比较,如果数组的值大于下标的值,说明在左边缺少一个数,那么从左边继续二分查找,直到左指针等于右指针;如果数组的值等于下标的值,说明右边缺少一个数,从右边进行二分查找。代码片段:public int miss
2021-04-15 23:43:35 689
原创 java中比较符==和equals的区别
java中的数据类型分为两类:基本数据类型和复合数据类型。基本数据类型:有八个,boolean,char,byte,short,int,long,float,double。一般用等号做基本数据类型的比较,比较的是值。复合数据类型:也就是基本数据类型对应的包装类,再加上String。这类数据如果用==做比较的话,比较的是它们在内存中的存放地址,所以,如果是同一个new出来的对象,比较的结果才会是true,否则就是false。java中object的基类中包含一个equals的方法,如果equals方
2021-04-09 22:53:29 111
原创 Java产生时间戳并进行拼接
自动化测试中,我们会采用数据驱动的方式基于Excel管理测试用例,在生成结果文件时,每个结果Excel的名字都不能重复,所以我们通常会用时间戳作为结尾来区别文件。时间戳是一个通用的方法。
2021-04-06 18:24:00 1098
原创 方法的重载
重载(Overload)Java的重载指的是在同一个类中,多个方法的方法名一样,但是参数列表不同。参数列表具体表现为以下3点:1.参数类型不同,2.参数顺序不同,3.参数个数不同。满足其中一种即产生了方法的重载。重载的方法被调用时,根据参数列表的不同来自动匹配不同的方法,是Java的一个类的多态性体现。重载不受方法的返回类型,修饰符、参数的名字影响。//下面三个set方法产生了重载//没有参数public static void set(){ System.out.pr
2021-04-06 18:05:09 69
原创 方法的重写
重写(Override)重写是基于继承产生的。子类定义一个方法,并且这个方法的名字、返回类型和参数列表都与从父类继承的方法完全相同,这样就形成了子类方法的重写。重写的规则:1.参数列表与返回类型必须与被重写方法完全相同。2.重写方法的访问权限不能低于父类的被重写方法的访问权限。3.声明为final的方法不能被重写4.构造方法不能被重写。5.子类如果想调用父类中被重写的方法,需要使用super关键字。重写的好处是:子类可以根据自己的特定的行为,指定专属自己的方法。...
2021-04-06 17:55:37 95
原创 快速排序及时间复杂度和空间复杂度
快速排序思想: 快排的核心是递归。以从小到大排序为例,把第一个值作为基准值,先从最右边进行比较,若比基准值大,那么右边的指针左移一位,如果比基准值大,那么交换基准值和当前位置的值,改变比较方向,开始从最左边开始比较,若比基准值小,那么左边的指针右移一位,如果比基准值大,那么交换基准值和当前位置的值。每一轮的结果是基准被放在了正确的位置上,左边的指针位置等于右边的指针位置。此时数组被一分为二,左边的数都比基准值小,右边的值都比基准值大。分别对左边和右边的数使用递归做重复的操作。递归的出口 是左边只剩下一个值,
2021-04-06 16:51:16 9839
原创 选择排序及时间复杂度
选择排序思想: 以从小到大排序为例,每一轮以第1个未排序的数作为最小值,记下下标,和后面的值依次进行比较,若后面的值比最小值小,那么更新最小值的下标,直到这轮比较完,会找到一个最小值,然后将最小值和第一个数进行值交换。下一轮以第2个数为最小值的下标,进行比较。总共需要n-1次比较。public static int[] select(int[] num){ int min; int temp; for(int i=0;i<num.length-1;i+
2021-04-06 15:44:31 7764
原创 斐波那契数列
LeetCode第509题:斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。解法一: 递归。public int fib(int n) { if(n<2){ return n; } //递
2021-04-06 14:48:53 120
原创 冒泡排序及时间复杂度
冒泡排序思想: 以从小到大排序举例。每一轮比较第n个值和第n+1个值的大小,如果num[n]大于num[n+1],那么交换这两个值;总共需要进行n-1次比较。public static int[] bubble(int[] num) { int temp; //最多需要进行n-1轮 for (int i = 1; i < num.length; i++) { //每轮都会冒出一个值,所以比较num.length-i次即可
2021-04-06 14:31:09 4722 1
原创 Python递归实现快速排序
快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。#快速排序def quick_sort(rank,left,right): """ 快速排序思想: 先找一个基准值,比如找最左边的第一个为基准值,开始从右往左变了,如果有比基准值小的,那么就和基准值交换位置,
2021-03-18 13:58:46 1057 3
原创 selenium使用Robot.mousemove(x,y)定位不到正确的位置
需求描述:web自动化流程,通过自动化脚本,完成图片或者文件上传的功能。实现过程:图片或者文件上传的操作,是通过计算机的操作系统操作的,所以selenium没有直接可用的方法,所以我们通过java自带的robot类,来直接控制底层键盘鼠标来进行操作。代码片段 /** * 鼠标移动指定位置并点击鼠标左键后释放鼠标 * * @param x 指定位置的x偏移量 * @param y 指定位置的y偏移量 */ public void moveTo
2021-03-16 23:51:12 1573
原创 JDBC加载驱动报错:Loading class `com.mysql.jdbc.Driver‘. This is deprecated.
转载原文:https://blog.csdn.net/weixin_42323802/article/details/82500458原加载驱动程序:报错截图:翻译一下报错信息:加载类“com.mysql.jdbc.Driver”。这是弃用。新的驱动类是’ com.mysql.cj.jdbc.Driver’。驱动程序是通过SPI自动注册的,手动加载驱动程序类通常是不必要的。所以,原因就是我们所使用的驱动不是最新的类型,要更新为新的加载驱动类。解决方案:更改驱动:再次运行程序,报错已解决
2021-03-05 17:02:21 1075
原创 jdbc连接数据库报错:The server time zone value ‘�й���ʱ��‘ is unrecognized or represents more than one time
连接数据库程序:报错信息:翻译报错信息:The server time zone value ‘�й���ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value
2021-03-05 16:58:53 533
原创 算法求100以内的质数
质数概念:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。例如:7只能被1和7整除,除此之外不能再被其他数字整除,7就是质数。6能被2,3整除,6就不是质数。最小的质数是2,它也是唯一的偶数质数。最前面的质数依次排列为:2,3,5,7,11,13,17,19,23,29,31等。分析过程:1、从2开始遍历,如果这个数能被从2到小于它本身前一个数整除,那么这个数就不是质数2、如果判断能够被整除,此时打个标记,标记这个数不是质数。3、将所有被标记为质数的数,打印
2021-02-08 23:41:49 5200
原创 九九乘法表入门级for循环
先贴一个九九乘法表,如下:分析过程:总共有九行。是一个二维表,行数我们用row表示,列数用column,每一行的列数都是不超过它的行数,比如第5行,就有5个公式。每行第一个都是1 乘以 row ,中间只改变列数,直到最后一个是row乘以column。代码片段: int i=0; int j=0; for(i=1;i<10;i++){ //j<=i关键条件 for(j=1;j<=i;j++){ //print表示输出不换行,"\t
2021-02-08 21:20:31 7563
原创 常见运算符的运算优先级练习
常见的运算符(按优先级排序):一元运算符,也叫单目运算符,常见:++(自加)、–(自减)、!(逻辑非)、~(按位取反)四则运算符,加减乘除位移运算符,<<(左移)、>>(右移)关系运算符,大于、等于、小于、大于等于、小于等于逻辑运算符,&&(逻辑与)、||(逻辑非)逻辑表达式,包含两个逻辑运算符||和&&,这两个是用短路运算形式来进行运算。当 || 的表达式中,有一边的结果为真,那么另一边不用再去判断,结果直接为真。当 &&
2021-02-06 14:07:59 3654 1
原创 Java中八种基本数据类型及自动转换
基本数据类型java中的基本数据类型有8种,分为四类:整型、浮点型、布尔型、字符类型。第一类:整型。包含四种基本数据类型。byte:1个字节(Byte),即8位(bit)。可表示的数字个数:2^8=256个。数字范围:-128~127。short:短整型,长度是2个字节,即16位。可表示的数字个数:2^16=65536个。数字范围:-32768~32767。int:整型,长度是4个字节,即32位。long:长整型,长度是8个字节,即64位。第二类:浮点型。包含两种基本数据类型。float:
2021-02-04 14:43:44 1184
原创 创建新表并添加主键、唯一键和自增长
创建新表并添加主键、唯一键和自增长创建新表create table my_demo(id int(11) not null,number char(10) not null,name varchar(20) not null)charset utf8;创建好之后可以查看表desc my_demo;结果如下图: 增加id为主键alter table my_demo add primary
2017-05-03 11:50:57 926
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人