Loading

随笔分类 -  acm

摘要:给你一个非负整数数组nums,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 假设你总是可以到达数组的最后一个位置。 示例 1: 输入: nums = [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置 阅读全文
posted @ 2021-09-07 09:01 wwcg2235
摘要:给定一个字符串(s)和一个字符模式(p),实现一个支持'?'和'*'的通配符匹配。 '?'可以匹配任何单个字符。 '*'可以匹配任意字符串(包括空字符串)。 两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字 阅读全文
posted @ 2021-09-07 08:08 wwcg2235
摘要:给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输入: num1 = "123", num2 = "456" 输出: "56088" 说明 阅读全文
posted @ 2021-09-06 09:16 wwcg2235
摘要:给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 阅读全文
posted @ 2021-09-06 09:14 wwcg2235
摘要:给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums = [1,2,0] 输出:3 示例 2: 输入:nums = [3,4,-1,1] 输出:2 示例 3: 输入:nums = [7, 阅读全文
posted @ 2021-09-06 08:50 wwcg2235
摘要:给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。 candidates中的每个数字在每个组合中只能使用一次。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates = [10,1,2,7,6,1,5], t 阅读全文
posted @ 2021-09-03 09:28 wwcg2235
摘要:给定一个无重复元素的正整数数组candidates和一个正整数target,找出candidates中所有可以使数字和为目标数target的唯一组合。 candidates中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。 对于给定的输入,保证和为target的唯一组合 阅读全文
posted @ 2021-09-02 18:13 wwcg2235
摘要:给定一个正整数n,输出外观数列的第n项。 「外观数列」是一个整数序列,从数字1开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) = "1" countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成 阅读全文
posted @ 2021-09-02 12:42 wwcg2235
摘要:编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图) 数独部分空格内已填入了数字,空白格用 '.' 表示。 示例: 输入:board = 阅读全文
posted @ 2021-09-01 20:28 wwcg2235
摘要:请你判断一个9x9的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 数独部分空格内已填入了数字,空白格用 '.' 表示。 阅读全文
posted @ 2021-09-01 12:23 wwcg2235
摘要:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为O(log n)的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2 示例 2: 输入: nums = [1, 阅读全文
posted @ 2021-08-31 19:02 wwcg2235
摘要:给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为O(log n)的算法解决此问题吗? 示例 1: 输入:nums = [5,7,7,8,8 阅读全文
posted @ 2021-08-31 18:46 wwcg2235
摘要:整数数组nums按升序排列,数组中的值互不相同。 在传递给函数之前,nums在预先未知的某个下标k(0 ⇐ k < nums.length)上进行了旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k- 阅读全文
posted @ 2021-08-31 18:35 wwcg2235
摘要:给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例 1: 输入:s = "(()" 输出:2 解释:最长有效括号子串是 "()" 示例 2: 输入:s = ")()())" 输出:4 解释:最长有效括号子串是 "()()" 示例 3: 输入:s = " 阅读全文
posted @ 2021-08-31 09:35 wwcg2235
摘要:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列(即,组合出下一个更大的整数)。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 示例 1: 输入:nums = [1,2,3] 输出:[1,3,2] 阅读全文
posted @ 2021-08-31 08:20 wwcg2235
摘要:给定一个字符串s和一些长度相同的单词words。找出s中恰好可以由words中所有单词串联形成的子串的起始位置。 注意子串要与words中的单词完全匹配,中间不能有其他字符,但不需要考虑words中单词串联的顺序。 示例 1: 输入:s = "barfoothefoobarman", words = 阅读全文
posted @ 2021-08-30 09:05 wwcg2235
摘要:给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和mod运算符。 返回被除数dividend除以除数divisor得到的商。 整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7 阅读全文
posted @ 2021-08-30 08:52 wwcg2235
摘要:实现strStr()函数。 给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串出现的第一个位置(下标从0开始)。如果不存在,则返回-1。 说明: 当needle是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于本题而言,当needl 阅读全文
posted @ 2021-08-30 08:44 wwcg2235
摘要:给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请 阅读全文
posted @ 2021-08-30 07:34 wwcg2235
摘要:给你一个有序数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里 阅读全文
posted @ 2021-08-29 21:44 wwcg2235