![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
MisAnt
这个作者很懒,什么都没留下…
展开
-
作业26:搜索插入位置
题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4示例 4:输入: nums = [1,3.原创 2021-11-20 19:12:50 · 81 阅读 · 0 评论 -
作业25:实现 strStr()
题目:实现strStr()函数。给你两个字符串haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回-1 。说明:当needle是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当needle是空字符串时我们应当返回 0 。这与 C 语言的strstr()以及 Java 的indexOf()定义相符。示例 1:输入:ha...原创 2021-09-09 21:30:03 · 97 阅读 · 0 评论 -
作业24:最长公共前缀
题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix著作权归领扣网络所有。商业转.原创 2021-09-09 16:51:55 · 65 阅读 · 0 评论 -
作业23:找不同
题目:给定两个字符串 s 和 t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = "abcd", t = "abcde"输出:"e"解释:'e' 是那个被添加的字母。示例 2:输入:s = "", t = "y"输出:"y"示例 3:输入:s = "a", t = "aa"输出:"a"示例 4:输入:s = "ae", t = "aea"输出:"a"来源:力扣(L...原创 2021-09-08 16:49:47 · 93 阅读 · 0 评论 -
作业22:区域和检索 - 数组不可变
题目:给定一个整数数组 nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i、j两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引i到j(i≤j)范围内元素的总和,包含i、j两点(也就是 sum(nums[i], nums[i + 1], ... , nums[j]))示例:输入:["NumArray",...原创 2021-09-08 16:36:21 · 54 阅读 · 0 评论 -
作业21:拆炸弹
(very very暴力)题目:你有一个炸弹需要拆除,时间紧迫!你的情报员会给你一个长度为n的循环数组code以及一个密钥k。为了获得正确的密码,你需要替换掉每一个数字。所有数字会同时被替换。如果k > 0,将第i个数字用 接下来k个数字之和替换。如果k < 0,将第i个数字用 之前k个数字之和替换。如果k == 0,将第i个数字用0替换。由于code是循环的,code[n-1]下一个元素是code[0],...原创 2021-09-05 22:47:08 · 214 阅读 · 0 评论 -
作业21:替换空格
题目:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。package ReplaceSpace;原创 2021-09-05 16:26:33 · 186 阅读 · 0 评论 -
作业20:爬楼梯
题目:假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶来源:力扣(LeetCode)链接:https://le...原创 2021-08-26 19:50:49 · 66 阅读 · 0 评论 -
作业19:回文数
题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个.原创 2021-08-26 19:25:05 · 116 阅读 · 0 评论 -
作业18:合并两个有序链表
题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是 [0, 50]-100 <= Node.val <= 100l1 和 l2 均按 非递减顺序..转载 2021-08-25 19:51:47 · 75 阅读 · 0 评论 -
作业18: 罗马数字转整数
题目:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II...原创 2021-08-24 22:34:01 · 104 阅读 · 0 评论 -
作业17:同构字符串
题目:给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。示例 1:输入:s = "egg", t = "add"输出:true示例 2:输入:s = "foo", t = "bar"输出:false示例 3:输入:s = "paper", t =...原创 2021-08-23 21:51:03 · 85 阅读 · 0 评论 -
作业16:错误的集合
题目:集合 s 包含从 1 到n的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入:nums = [1,2,2,4]输出:[2,3]示例 2:输入:nums = [1,1]输出:[1,2]提示:2 <= nums.length...原创 2021-08-23 19:24:21 · 60 阅读 · 0 评论 -
作业15:解码字母到整数映射
题目:给你一个字符串s,它由数字('0'-'9')和'#'组成。我们希望按下述规则将s映射为一些小写英文字符:字符('a'-'i')分别用('1'-'9')表示。 字符('j'-'z')分别用('10#'-'26#')表示。返回映射之后形成的新字符串。题目数据保证映射始终唯一。示例 1:输入:s = "10#11#12"输出:"jkab"解释:"j" -> "10#" , "k" -> "11#" , "a" -> "1" ...原创 2021-08-21 13:44:12 · 102 阅读 · 0 评论 -
作业14:反转字符串中的元音字母
题目:给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现。示例 1:输入:s = "hello"输出:"holle"示例 2:输入:s = "leetcode"输出:"leotcede"提示:1 <= s.length <= 3 * 105s 由 可打印的 ASCII 字符组成来源:力扣(LeetCode)链接:https://leetcode-c.原创 2021-08-19 16:40:41 · 297 阅读 · 0 评论 -
作业13:在排序数组中查找数字 i
题目:统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0提示:0 <= nums.length <= 105-109<= nums[i]<= 109nums是一个非递减数组-109<= target<= 109来源:力扣(LeetCode)链...原创 2021-08-08 13:27:07 · 55 阅读 · 0 评论 -
作业12:数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000import java.util.Arrays;public class RemoveDuplicates { public static int removeDuplicates(int[] nums).原创 2021-08-08 13:25:48 · 58 阅读 · 0 评论 -
作业11:数组的相对排序
题目:给你两个数组,arr1 和arr2,arr2中的元素各不相同arr2 中的每个元素都出现在arr1中对 arr1中的元素进行排序,使 arr1 中项的相对顺序和arr2中的相对顺序相同。未在arr2中出现过的元素需要按照升序放在arr1的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]输出:[2,2,2,1,4,3,3,9,6,7,19]提示:1 <= arr1...原创 2021-08-05 13:49:02 · 66 阅读 · 0 评论 -
作业10:移动零
题目:package MoveZeros;import java.util.Arrays;import java.util.LinkedList;import java.util.List;import java.util.Queue;//暴中暴法:用队列解题public class MoveZeros { public static void moveZeros(int[] nums){ Queue<Integer> que1 = new Li原创 2021-08-02 21:29:33 · 87 阅读 · 1 评论 -
作业9:数组中重复的数字
题目:难度简单498收藏分享切换为英文接收动态反馈找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 /** * 暴力解法 */package RepeatNumber;public class RepeatNumber { p原创 2021-08-02 19:56:40 · 44 阅读 · 0 评论 -
作业8:无法吃午餐的学生数量
题目:学校的自助午餐提供圆形和方形的三明治,分别用数字0和1表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个栈里,每一轮:如果队列最前面的学生喜欢栈顶的三明治,那么会拿走它并离开队列。否则,这名学生会放弃这个三明治并回到队列的尾部。这个过程会一直持续到队列里所有学生都不喜欢栈顶的三明治为止。给你两个整数数组students 和sandwiches,其中sandwiches[i]是栈...原创 2021-08-01 22:41:16 · 235 阅读 · 0 评论 -
作业7:用栈操作构建数组
题目:给你一个目标数组 target 和一个整数 n。每次迭代,需要从list = {1,2,3..., n} 中依序读取一个数字。请使用下述操作来构建目标数组 target :Push:从 list 中读取一个新元素, 并将其推入数组中。Pop:删除数组中的最后一个元素。如果目标数组构建完成,就停止读取更多元素。题目数据保证目标数组严格递增,并且只包含 1 到 n 之间的数字。请返回构建目标数组所用的操作序列。题目数据保证答案是唯一的。示例 1:输入:target =..原创 2021-07-21 22:28:09 · 83 阅读 · 0 评论 -
作业6:用两个栈实现队列(功能更多版)
题目:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有push to top,peek/pop from to...原创 2021-07-21 15:52:10 · 74 阅读 · 0 评论 -
作业5:用两个栈实现队列
题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue","deleteHead","appendT.原创 2021-07-19 15:29:48 · 45 阅读 · 0 评论 -
作业4:用队列实现栈
题目:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。注意:你只能使用队列的基本操作 —— 也就是push to back、peek/pop from fro..原创 2021-07-16 21:17:16 · 153 阅读 · 0 评论 -
作业3:有效的括号
给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:true提示:1 &l...原创 2021-07-16 16:16:17 · 40 阅读 · 0 评论