![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java练习
文章平均质量分 76
东经116度
记录学习,分享交流
展开
-
Java_22 冒险岛
肖恩是一位勇敢而机智的冒险家,他今天来到了一片全新的冒险岛。冒险岛中布满了各种危险的怪物和陷阱,但肖恩凭借着她的智慧和技巧,总能克服困难,向前迈进。在冒险岛的深处,有一片广阔的战斗场地,里面隐藏着许多凶猛的怪物。肖恩必须在怪物察觉他之前,尽可能多地捕获这些怪物,以保证自己的安全。肖恩有一个特殊的技能,能够一次性将若干怪物同时捕获。然而,这项技能有一些限制。捕获的怪物之间的横坐标的最大差值不能大于 A,纵坐标的最大差值不能大于 B。原创 2024-03-31 21:54:34 · 355 阅读 · 0 评论 -
Java_22 蓝桥杯真题——拼数
给定几 个正整数 a1,a2....,an,你可以将它们任意排序,现要将这 几 个数字连接成一排,即令相邻数字收尾相接,组成一个数。问,这个数最大可以是多少。原创 2024-03-31 15:44:30 · 358 阅读 · 0 评论 -
Java_21 完成一半题目
有N位扣友参加了微软与力扣举办了「以扣会友」线下活动。主办方提供了2*N道题目,整型数组questions中每个数字对应了每道题目所涉及的知识点类型。若每位扣友选择不同的一题,请返回被选的N道题目至少包含多少种知识点类型。1解释:有 2 位扣友在 4 道题目中选择 2 题。可选择完成知识点类型为 2 的题目时,此时仅一种知识点类型 因此至少包含 1 种知识点类型。2解释:有 6 位扣友在 12 道题目中选择题目,需要选择 6 题。选择完成知识点类型为 3、5 的题目,因此至少包含 2 种知识点类型。原创 2024-03-29 21:41:10 · 551 阅读 · 0 评论 -
Java_20 元素和最小的山形三元组
给你一个下标从开始的整数数组nums。如果下标三元组(i, j, k)满足下述全部条件,则认为它是一个请你找出nums中的山形三元组,并返回其。如果不存在满足条件的三元组,返回-1。9三元组 (2, 3, 4) 是一个元素和等于 9 的山形三元组,因为:- nums[2] < nums[3] 且 nums[4] < nums[3]这个三元组的元素和等于 nums[2] + nums[3] + nums[4] = 9。可以证明不存在元素和小于 9 的山形三元组。13。原创 2024-03-29 20:28:05 · 1162 阅读 · 0 评论 -
Java_19 罗马数字转整数
罗马数字包含以下七种字符:IVXLCD和M。例如, 罗马数字2写做II,即为两个并列的 1。12写做XII,即为XII。27写做XXVII, 即为XXVII。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为IX。IVXXLCCDM给定一个罗马数字,将其转换成整数。原创 2024-03-28 21:39:44 · 870 阅读 · 0 评论 -
Java_18 字符串中的单词反转
你在与一位习惯从右往左阅读的朋友发消息,他发出的文字顺序都与正常相反但单词内容正确,为了和他顺利交流你决定写一个转换程序,把他所发的消息message转换为正常语序。注意:输入字符串message中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。"world!hello"输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。message。原创 2024-03-28 17:53:43 · 364 阅读 · 0 评论 -
Java_17 两数之和
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]你可以想出一个时间复杂度小于O(n2)的算法吗?原创 2024-03-27 17:17:13 · 350 阅读 · 0 评论 -
Java_16 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]提示:进阶:你能尽量减少完成的操作次数吗?作者:LeetCode。原创 2024-03-27 12:00:00 · 424 阅读 · 0 评论 -
Java_15 删除排序数组中的重复项
给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致。然后返回 nums 中唯一元素的个数。考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k。原创 2024-03-26 17:06:31 · 931 阅读 · 0 评论 -
Java_14 寻找旋转排序数组中的最小值
已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]]。原创 2024-03-26 16:03:31 · 772 阅读 · 0 评论 -
Java13_反转字符串中的单词 III(方法二String转换成字符数组)
给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入:s = "Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"示例 2:输入: s = "Mr Ding"输出:"rM gniD"提示:s 包含可打印的 ASCII 字符。s 不包含任何开头或结尾空格。s 里 至少 有一个词。s 中的所有单词都用一个空格隔开。相关标签Java。原创 2024-03-19 21:32:24 · 376 阅读 · 0 评论 -
Java_13 反转字符串中的单词 III(方法一将String改为StringBuilder)
不能用slow 和fast直接换顺序,是全局变量,后面的遍历字符串会受影响1.对全局变量认识加深,在写的时候有所思考👍2.对于Java的String 类和StringBuider类需要加深学习和思考,途中很多坎坷都是因为不知💪3.位运算了解掌握🤔4.eclipse调试get(之前就想着学,这次会了!)👍5.不同语言之间的差异明显感知🤔。原创 2024-03-19 17:36:23 · 690 阅读 · 0 评论 -
Java_12 杨辉三角 II
给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: rowIndex = 3输出: [1,3,3,1]示例 2:输入: rowIndex = 0输出: [1]示例 3:输入: rowIndex = 1输出: [1,1]提示:进阶:你可以优化你的算法到 O(rowIndex) 空间复杂度吗?作者:LeetCode。原创 2024-03-15 18:00:16 · 1163 阅读 · 0 评论 -
Java_11 杨辉三角
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2:输入: numRows = 1输出: [[1]]提示:作者:LeetCode链接:https://leetcode.cn/leetbook/read/array-and-string/cuj3m/原创 2024-03-15 12:33:59 · 338 阅读 · 0 评论 -
Java10_长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target。找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。示例 2:输入:target = 4, nums = [1,4,4]输出:1。原创 2024-03-14 15:52:15 · 828 阅读 · 0 评论 -
Java_9最大连续1的个数
给定一个二进制数组 nums , 计算其中最大连续 1 的个数。示例 1:输入:nums = [1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.示例 2:输入:nums = [1,0,1,1,0,1]输出:2提示:nums[i] 不是 0 就是 1.相关标签Java作者:LeetCode。原创 2024-03-14 15:00:30 · 528 阅读 · 0 评论 -
Java_8 移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝。原创 2024-03-12 15:23:11 · 283 阅读 · 0 评论 -
Java_7 两数之和 II - 输入有序数组
给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。原创 2024-03-12 11:23:07 · 737 阅读 · 0 评论 -
Java_6 数组拆分 I
给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和。示例 1:输入:nums = [1,4,3,2]输出:4解释:所有可能的分法(忽略元素顺序)为:所以最大总和为 4示例 2:输入:nums = [6,2,6,5,1,2]输出:9。原创 2024-03-12 11:01:58 · 443 阅读 · 0 评论 -
Java_5 反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = ["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:s = ["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]提示:s[i] 都是 ASCII 码表中的可打印字符。原创 2024-03-12 10:40:21 · 179 阅读 · 0 评论 -
Java_4 零矩阵
示例 1:输入:[1,1,1],[1,0,1],[1,1,1]输出:[1,0,1],[0,0,0],[1,0,1]示例 2:输入:[0,1,2,0],[3,4,5,2],[1,3,1,5]输出:[0,0,0,0],[0,4,5,0],[0,3,1,0]作者:LeetCode链接:https://leetcode.cn/leetbook/read/array-and-string/ciekh/原创 2024-03-10 19:51:17 · 405 阅读 · 1 评论 -
Java_3 旋转矩阵
不占用额外内存空间能否做到?示例 1:给定 matrix =[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[7,4,1],[8,5,2],[9,6,3]示例 2:给定 matrix =],原地旋转输入矩阵,使其变为:作者:LeetCode链接:https://leetcode.cn/leetbook/read/array-and-string/clpgd/来源:力扣(LeetCode)原创 2024-03-10 15:16:06 · 768 阅读 · 0 评论 -
Java_2 搜索插入位置
在原有思路是完善如上,对其大于数组中所有的数进行了增加,对于返回值必须是int型,则在最后添加return -1,因为从逻辑上来说是一定会在if的语句中有return的。链接:https://leetcode.cn/leetbook/read/array-and-string/cxqdh/遇到的问题,本来想用if-else if-else 语句对target>nums[a-1]进行完善的,输入: nums = [1,3,5,6], target = 5。请必须使用时间复杂度为 O(log n) 的算法。原创 2024-03-08 20:52:12 · 453 阅读 · 0 评论 -
Java_1寻找数组的中心索引
如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。左侧数之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,右侧数之和 sum = nums[4] + nums[5] = 5 + 6 = 11 ,二者相等。右侧数之和 sum = nums[1] + nums[2] = 1 + -1 = 0。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。输入:nums = [2, 1, -1]原创 2024-03-08 18:15:03 · 450 阅读 · 0 评论