摘要:
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0 阅读全文
摘要:
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例: 输入: ["flower","flow","flight"] 输出: "fl" ##思路 将单词上下排好,则相当于一个各行长度可能不同的二维数组,采用纵向遍历。外围循环为横向遍历,遍历次数由最短单词长度 阅读全文
摘要:
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。 示例: 输入: "MCMXCIV" 输出: 1994 解释: M = 阅读全文
摘要:
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V 阅读全文
摘要:
转义字符:转义才能表示出来的字符。 split("\\.") 以点为分隔符切割,返回一个字符串数组。 split的参数是表示正则表达式的一个字符串,而在正则表达式中, "."有特殊意思,所以匹配"."时要用转义字符"\",所以在正则表达式中匹配"."的表达式是"\.", 而在Java中,"\"又是特 阅读全文
摘要:
有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。 嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。 有效括号字符串类型与对应的嵌套深度计算方法如下图所示: 给你一个「有效括号字符串」seq,请你将其分成两个不相交 阅读全文
摘要:
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。 '.'匹配任意单个字符 '*'匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a 阅读全文
摘要:
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ] ##回溯法 bool isPalindrome(string s,int start,int i){ w 阅读全文
摘要:
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 示例: 输入:s = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的子数组。 阅读全文
摘要:
给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。 换句话说,第一个字符串的排列之一是第二个字符串的子串。 示例1: 输入: s1 = "ab" s2 = "eidbaooo" 输出: True 解释: s2 包含 s1 的排列之一 ("ba"). ##哈希表法: 定义 阅读全文