java
s_海棠依旧
守的住寂寞,方撑的起繁华。
展开
-
java查找字符串中出现频率最高的字符
java查找字符串中出现频率最高的字符原创 2021-04-25 21:52:16 · 793 阅读 · 0 评论 -
Leetcode 14:最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"原创 2021-04-25 21:36:04 · 93 阅读 · 0 评论 -
Leetcode 1:两数之和(java)
题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。原创 2021-04-25 21:02:09 · 83 阅读 · 0 评论 -
Leetcode 169:多数元素(java)
题目:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。原创 2021-04-25 20:45:16 · 85 阅读 · 0 评论 -
Leetcode 136:只出现一次的数字java
题目 :给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。原创 2021-04-25 12:42:53 · 76 阅读 · 0 评论 -
java反转字符串
反转字符串的问题,经常会遇到。将给定的字符串,反转后进行返回。原创 2021-04-25 11:36:55 · 110 阅读 · 0 评论 -
数组去重后输出(无序数组)
题目:已知有一个无序的数组中存在重复的元素,要求去掉重复元素后输出新数组。分析: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 · 522 阅读 · 0 评论 -
LeetCode:剑指offer53-II,找到缺失的数(有序数组)
题目:一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。分析:二分法适用于已经排好序的数组的查找。所以这个题目中我们使用二分法进行查找。先将数组一分为二,将中间下标数组的值和下标进行比较,如果数组的值大于下标的值,说明在左边缺少一个数,那么从左边继续二分查找,直到左指针等于右指针;如果数组的值等于下标的值,说明右边缺少一个数,从右边进行二分查找。代码片段:public int miss原创 2021-04-15 23:43:35 · 676 阅读 · 0 评论 -
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 · 102 阅读 · 0 评论 -
Java产生时间戳并进行拼接
自动化测试中,我们会采用数据驱动的方式基于Excel管理测试用例,在生成结果文件时,每个结果Excel的名字都不能重复,所以我们通常会用时间戳作为结尾来区别文件。时间戳是一个通用的方法。原创 2021-04-06 18:24:00 · 1074 阅读 · 0 评论 -
方法的重写
重写(Override)重写是基于继承产生的。子类定义一个方法,并且这个方法的名字、返回类型和参数列表都与从父类继承的方法完全相同,这样就形成了子类方法的重写。重写的规则:1.参数列表与返回类型必须与被重写方法完全相同。2.重写方法的访问权限不能低于父类的被重写方法的访问权限。3.声明为final的方法不能被重写4.构造方法不能被重写。5.子类如果想调用父类中被重写的方法,需要使用super关键字。重写的好处是:子类可以根据自己的特定的行为,指定专属自己的方法。...原创 2021-04-06 17:55:37 · 83 阅读 · 0 评论 -
方法的重载
重载(Overload)Java的重载指的是在同一个类中,多个方法的方法名一样,但是参数列表不同。参数列表具体表现为以下3点:1.参数类型不同,2.参数顺序不同,3.参数个数不同。满足其中一种即产生了方法的重载。重载的方法被调用时,根据参数列表的不同来自动匹配不同的方法,是Java的一个类的多态性体现。重载不受方法的返回类型,修饰符、参数的名字影响。//下面三个set方法产生了重载//没有参数public static void set(){ System.out.pr原创 2021-04-06 18:05:09 · 63 阅读 · 0 评论 -
快速排序及时间复杂度和空间复杂度
快速排序思想: 快排的核心是递归。以从小到大排序为例,把第一个值作为基准值,先从最右边进行比较,若比基准值大,那么右边的指针左移一位,如果比基准值大,那么交换基准值和当前位置的值,改变比较方向,开始从最左边开始比较,若比基准值小,那么左边的指针右移一位,如果比基准值大,那么交换基准值和当前位置的值。每一轮的结果是基准被放在了正确的位置上,左边的指针位置等于右边的指针位置。此时数组被一分为二,左边的数都比基准值小,右边的值都比基准值大。分别对左边和右边的数使用递归做重复的操作。递归的出口 是左边只剩下一个值,原创 2021-04-06 16:51:16 · 9801 阅读 · 0 评论 -
选择排序及时间复杂度
选择排序思想: 以从小到大排序为例,每一轮以第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 · 7744 阅读 · 0 评论 -
斐波那契数列
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 · 106 阅读 · 0 评论 -
冒泡排序及时间复杂度
冒泡排序思想: 以从小到大排序举例。每一轮比较第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 · 4691 阅读 · 1 评论 -
算法求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 · 5166 阅读 · 0 评论 -
九九乘法表入门级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 · 7545 阅读 · 0 评论 -
常见运算符的运算优先级练习
常见的运算符(按优先级排序):一元运算符,也叫单目运算符,常见:++(自加)、–(自减)、!(逻辑非)、~(按位取反)四则运算符,加减乘除位移运算符,<<(左移)、>>(右移)关系运算符,大于、等于、小于、大于等于、小于等于逻辑运算符,&&(逻辑与)、||(逻辑非)逻辑表达式,包含两个逻辑运算符||和&&,这两个是用短路运算形式来进行运算。当 || 的表达式中,有一边的结果为真,那么另一边不用再去判断,结果直接为真。当 &&原创 2021-02-06 14:07:59 · 3588 阅读 · 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 · 1175 阅读 · 0 评论