算法
胖虎 ^_^
这个作者很懒,什么都没留下…
展开
-
胖虎算法初练八之——最长公共前缀
最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。思路: 如果字符串数组的长度为零,则直接返回""; 先将第一个字符串规定为最长公共前缀,然后遍历比较字符串数组,当数组元素出现与第一个字符串不同时,更新最长公共前缀(截断第一个...原创 2020-07-17 19:30:10 · 264 阅读 · 0 评论 -
胖虎算法初练六之——外观数列
外观数列给定一个正整数 n(1 ≤n≤ 30),输出外观数列的第 n 项。注意:整数序列中的每一项将表示为一个字符串。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 111221读懂题:第一项是数字 12 描述前一项,这个数是 1中的数为"11",即 “一个 1 ”,记作 113 描述前一项,这个数是 2中的数为"11",即 “两个...原创 2020-07-10 14:27:22 · 264 阅读 · 0 评论 -
胖虎算法初练五之——删除排序数组中的重复项
删除排序数组中的重复项需求:给定一个排序数组,你需要在(原地 )删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。注意:你不需要考虑数组中超出新长度后面的元素。思路:刚开始看到这题想到是用集合set,可以去重,然后遍历集合重新给数组赋值,因为肯定有重复的元素,所以集合中的元素小于数组中的元素,这时候就提现返回值的重要性了。返回值就规定了这个数组的元素,就如上边需要注意的.原创 2020-07-08 14:55:56 · 146 阅读 · 0 评论 -
胖虎算法初练四之——有效的括号
有效的括号需求:给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串思路:(栈)空字符串为有效字符串。 使用栈存入和判断 遍历字符串,转换为字符数组,每次拿出来一个判断,如果是 '(' 就将 ')' 存入栈中用于一会判断同理其他括号也是。 当左括号全部存入栈中时,此时遍历的字符就是右括号,就将栈顶pop出来与接下来遍历的字.原创 2020-07-06 12:21:04 · 283 阅读 · 0 评论 -
胖虎的算法初练三之——回文数
回文数算法判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。思路:小于0,负数,肯定不是回文数 对于最后一位是0的数,第一位肯定也是0,这种情况只有是0。...原创 2020-07-05 14:59:13 · 458 阅读 · 0 评论