LEETCODE
ArroW/H
这个作者很懒,什么都没留下…
展开
-
120. 三角形最小路径和
120. 三角形最小路径和 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。 示例 1: 输入: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 输出: 11 思路分析 一道很基础的dp题,假设dp[i][j]代表在第i行,第j列时取得的最小值 那么状态转移方程可以写为 dp[i][j] =min(dp[i-1][j-1]原创 2020-07-14 19:57:45 · 106 阅读 · 0 评论 -
剑指 Offer 38. 字符串的排列
题目要求 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例 1: 输入: s = “abc” 输出: [“abc”,“acb”,“bac”,“bca”,“cab”,“cba”] 示例 2: 输入: “aab” 输出: [“aab”,“aba”,“baa”] 思路分析 很明显,这是一道考验回溯算法的问题,需要遍历整个决策树 伪代码: result = [] def backtrack(路径,选择列表): if 满足结束条件:原创 2020-07-13 15:54:57 · 148 阅读 · 0 评论 -
35. 搜索插入位置
题目要求 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], 0 输出: 0 思路分...原创 2018-10-10 23:55:59 · 85 阅读 · 0 评论 -
28. 实现strStr()
题目要求 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = “hello”, needle = “ll” 输出: 2 示例 2: 输入: haystack = “aaaaa”, needle =...原创 2018-10-10 23:54:09 · 103 阅读 · 0 评论 -
27. 移除元素
题目要求 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两...原创 2018-10-10 23:50:22 · 62 阅读 · 0 评论 -
26. 删除排序数组中的重复项
题目要求 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示例 2: 给定 ...原创 2018-10-10 23:48:19 · 54 阅读 · 0 评论 -
21. 合并两个有序链表
题目要求 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思路分析 设置一个新的链表,将输入的链表中比较小的添加到新的链表中,直到一个链表遍历到头,再将另一个链表直接添加到末尾即可。 代码实现 /** * De...原创 2018-10-10 23:45:08 · 83 阅读 · 0 评论 -
20. 有效的括号
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 1左括号必须用相同类型的右括号闭合。 2左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “()[]{}” 输出: true 示例 3: 输入: “(]” 输出: false 示例 4: 输入: “(...原创 2018-10-08 21:57:04 · 102 阅读 · 0 评论 -
14.最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例 2: 输入: [“dog”,“racecar”,“car”] 输出: “” 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。 题目要求 给定一组字符串,求他们的最长公共前缀 思路分析 先遍...原创 2018-10-07 21:18:59 · 59 阅读 · 0 评论 -
13. Roman to Integer
Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 V 5 X 10 L 50 C 100 D ...原创 2018-10-07 10:19:16 · 176 阅读 · 0 评论 -
9. Palindrome Number
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward. Example 1: Input: 121 Output: true Example 2: Input: -121 Output: false Explanatio...原创 2018-10-07 09:57:05 · 73 阅读 · 0 评论 -
7. Reverse Integer
Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Example 2: Input: -123 Output: -321 Example 3: Input: 120 Output: 21 Note: Assume we are dealing with ...原创 2018-10-06 21:09:42 · 77 阅读 · 0 评论 -
1. Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same e...原创 2018-10-05 11:08:30 · 98 阅读 · 0 评论