- 博客(36)
- 收藏
- 关注
原创 Java合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。输入:nums1 = [0], m = 0, nums2 = [1], n = 1。输入:nums1 = [1], m = 1, nums2 = [], n = 0。解释:需要合并的数组是 [] 和 [1]。输出:[1,2,2,3,5,6]
2024-07-26 17:49:42 659
原创 Java字符集合
每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。数据范围:输入的字符串长度满足 1≤n≤100 ,且只包含大小写字母,区分大小写。每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。输入一个字符串,求出该字符串包含的字符集合,按照字母输入的顺序输出。输入:abcqweracb。输出:abcqwer。
2024-07-26 16:29:33 242
原创 Java字符串中的单词数
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。
2024-07-23 15:40:46 413
原创 Java字符串最后一个单词的长度
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)说明:最后一个单词为nowcoder,长度为8。输入:hello nowcoder。
2024-07-22 21:49:18 264 1
原创 Java验证回文串
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。给你一个字符串 s,如果它是 回文串 ,返回 true;输入: s = “A man, a plan, a canal: Panama”解释:“amanaplanacanalpanama” 是回文串。解释:在移除非字母数字字符之后,s 是一个空字符串 “”。由于空字符串正着反着读都一样,所以是回文串。解释:“raceacar” 不是回文串。
2024-07-22 21:35:21 313
原创 Java转换成小写字母
给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。输出:“lovely”输出:“hello”
2024-07-22 14:34:54 501
原创 Java两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] ==你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。9 ,返回 [0, 1]。
2023-08-25 13:16:24 143
原创 Java只出现一次的数字
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。a ^ b ^ a = a ^ a ^ b = b(满足交换律)输入:nums = [4,1,2,1,2]^ :二进制数字异或,相同为0,不同为1。
2022-11-03 21:09:58 551
原创 Java求多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入: [3,2,3]
2022-11-03 20:46:46 255
原创 Java存在连续三个奇数的数组
给你一个整数数组 array,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 true;否则,返回 false。输入:array = [1,2,34,3,4,5,7,23,12]输出:true。解释:存在连续三个元素都是奇数的情况,即 [5,7,23]。输入:array = [2,6,4,1] 输出:false。解释:不存在连续三个元素都是奇数的情况。
2022-11-03 19:47:37 399
原创 Java调整数组顺序使奇数位于偶数前面
两个while循环的判断条件不能单纯的写array[i]%2!=0(array[j]%2==0),要考虑到极端情况,就是当数组都是奇数(偶数)时。调整后可能是:[1, 5, 3, 4, 2, 6]或者为[1, 3, 5, 6, 4, 2]当数组int[] array = {1,3,5,7,9}时。当数组int[] array = {1,3,5,7,9}时。当数组int[] array = {2,4,6,8}时。当数组int[] array = {2,4,6,8}时。如数组:[1,2,3,4,5,6]
2022-10-26 20:27:46 480
原创 Java求自幂数
七位自幂数:北斗七星数:1741725,4210818,9800817,9926315。八位自幂数:八仙数:24678050,24678051,88593477。一位自幂数:独身数: 1,2,3,4,5,6,7,8,9。五位自幂数:五角星数:54748,92727,93084。三位自幂数:水仙花数:153,370,371,407。四位自幂数:四叶玫瑰数:1634,8208,9474。六位自幂数:六合数:548834。九位自幂数:九九重阳数。十位自幂数:十全十美数。
2022-10-24 22:31:51 1473
原创 Java冒泡排序详解
2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。其实冒泡排序性能较低,Java 中内置了更高效的排序算法,就是Arrays.sort。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。3.针对所有的元素重复以上的步骤,除了最后一个。
2022-10-22 11:15:27 736
原创 Java数组逆置详解
我们首先找到起始下标和末尾下标,定义一个循环条件是起始下标小于末尾下标,当起始下标等于末尾下标时,就不用再进行转换。循环内部就将两元素调换。给定一个整型数组(也可以是其他类型),将数组中的元素逆置输出。
2022-10-20 17:57:23 1970
原创 Java二分查找详解
给定一个数组,首先判断是否有序,如果为无序,将数组变为有序。然后输入目标数字,返回该数字在数组中的的下标。二分查找只适用于有序数组,如果是无序数组,下标mid对应元素之前的下标是正确的,之后元素的下标无法找到。
2022-10-19 09:27:03 104
原创 Java汉诺塔问题详解
相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如图)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。(1)以C杆为中介,从A杆将1至n-1号盘移至B杆;(3)以A杆为中介,从B杆将1至n-1号盘移至C杆。(2)将A杆中剩下的第n号盘移至C杆;
2022-10-13 17:11:00 1146
原创 Java求每一位数字之和
只不过这个题目要求有返回值,改变返回值类型和一些代码即可。写一个递归方法,输入一个非负整数,返回组成它的数字之和。题目思路基本相同,感兴趣可以去了解一下。
2022-10-12 18:05:39 614
原创 Java按顺序打印数字的每一位详解
先执行①打印1,把①的结果返回给②,然后执行③打印2。然后把打印好的1和2返回给④,再执行⑤打印3,最后把打印好的1,2和3返回给⑥,最后执行⑦,这样子就结束了整个递归的过程。输入一个数字,按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4) ,用递归实现。
2022-10-12 17:31:44 1903
原创 Java求一个整数的二进制序列详解
要想得到一个整数中的每一个二进制数字,只有让它每个二进制数字都按位与(&)上 1。获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
2022-10-11 23:42:27 992
原创 Java打印X形图案详解
多组输入一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。那就直接上图(图中 i 和 j 的位置应该反了)正斜线行和列相同,反斜线行和列的和等于输入的。针对每行输入,输出用“*”组成的X形图案。
2022-10-11 13:55:23 805
原创 Java求最小公倍数
所以,求两个数的最小公倍数,就可以先求出它们的最大公约数,然后用上述公式求出它们的最小公倍数。两种格式都是在求最大公约数的代码上增加了两行代码而已,并没有我们想象的那么复杂。由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即 a×b = 最大公约数×最小公倍数。从键盘输入两个数字,求他们的最小公倍数。只要懂得原理,稍加运用就能解决。...
2022-08-13 08:00:00 8495 2
原创 Java求出一个数字二进制中1的个数详解
3.中等,能判断正数和负数,效率比基础高(因为右移相当于除2,当n/2==0时,就没必要再去判断前面多余的0)2.基础改编,能判断正数和负数(因为是无符号右移,不管正负数,最左侧均为加0),但效率还是不高。只能判断正数,效率不高(因为要判断太多0,沉冗计算)如果两个二进制位都是 1, 则结果为 1, 否则结果为。4.高等,能判断正数和负数,并且效率非常高。二进制最右侧位不要了, 最左侧补符号位(二进制最右侧位不要了, 最左侧无论。一共有四种形式供大家参考。...
2022-08-12 14:20:50 2482
原创 Java求出最大公约数
题目要求 从键盘输入两个数字,求他们的最大公约数所用方法:辗转相除法两种格式都没必要去刻意比较两个数字的大小再计算。如果a
2022-08-11 22:52:03 1692 3
原创 Java猜数字游戏
随机生成一个1-100之间的数据(也可以自己设置区间),提示用户猜测,猜大提示过大,猜小提示过小,直到猜中结束游戏。② 使用死循环让用户不断提示用户猜测,猜大提示过大,猜小提示过小,猜中结束游戏。若想定义一个[x,y] 的取值区间 (前提:y>x),令z=y-x。Math.random()是返回 [0,1) 之间的随机。个人倾向于用random()方法来定义,比较方便简洁。如果x=1,则括号内的 z+1 改为 z。1.导入Random包来定义。小知识:如何定义一个取值区间。
2022-05-10 13:14:32 3935
原创 Java求出1到100的所有整数中出现多少个数字9
实现代码//法1 for循环public class Main { public static void main(String[] args) { int count = 0;//记录9出现的次数 for (int i = 1; i <=100 ; i++) { if(i%10==9){//计算90以内的数,包括99 count++; } if(i/10
2022-05-09 16:29:30 1365
原创 Java输出n*n的乘法口诀表
题目要求输出n*n的乘法口诀表,n由用户输入实现代码import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int i , j; System.out.print("请输入数字:"); int n = s.nextInt();
2022-05-07 14:46:48 1327 1
原创 Java打印1~100之间所有的素数
题目要求判断一个数是否为素数(质数):除了1和他本身不能被其他数整除实验思路两种方法1.嵌套循环,两个for循环2.do-while循环实现代码//法1public class Main { public static void main(String[] args) { int i, j; for(i=1; i<=100; i++){ for(j=2; j<i; j++){//判断除了1和本身能否被其他
2022-05-06 12:28:38 3799
原创 Java求n的阶乘
题目要求从键盘输入一个数字n,求出n的阶乘实现代码import java.util.Scanner;public class Main { public static int factorial(int x){//factorial:阶乘 int product = 1;//乘积 for (int i = 1; i <= x ; i++) { product = product * i; }
2022-05-05 12:24:37 7541 5
原创 Java求阶乘和
1.定义一个方法,方法里面使用一个循环,在调用时再使用一个循环反复调用。求 1~n 数字的阶乘和,n为键盘输入的数字。2.定义一个方法,方法里面使用嵌套循环。1.Scanner键盘输入技术。2.方法的定义和调用。...
2022-05-05 12:10:11 14706
原创 Java输出 1000 - 2000 之间所有的闰年
公历闰年判定遵循的规律为:四年一闰、百年不闰、400年再闰1.闰年能被4整除且不能100整除(即i%4==0 && i%100!=0)2.每400年一闰(i%400 ==0)易错提醒1.不能将三个条件合在一起,不然输出结果为02.也不能将这三个条件分开写或者随意组合,结果不为243实现代码public class Main { public static void main(String[] args) { int count =
2022-05-04 23:49:08 3733 2
原创 Java求出水仙花数
(Java)找出水仙花数题目要求水仙花数必须满足如下2个要求:1. 水仙花数是一个三位数2. 水仙花数的个位、十位、百位的数字立方和等于原数实现思路1.写出一个100~999的循环2.将个位,百位和十位求出并计算其平方和3.判断平方和是否与原数相同
2022-05-04 15:46:58 5522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人