leetcode中等
铁面无情哈士奇
希望月入百万
展开
-
leetcode中等十二 15.三数之和
三数之和 双指针法: golang,28ms 先排序,对已排序的数组,头部设为p,则后续的切片为(h,len(nums)-1) nums[p]>0 break p>0&&nums[h]==nums[h-1] continue sum = nums[p] + nums[h] + nums[t]则记录到结果切片中,h++ t--。 func threeSum(nums []int) [][]int { res := make([][]int, 0) sort.Int原创 2020-10-13 21:54:49 · 153 阅读 · 0 评论 -
Leetcode 中等十一 120.三角形最小路径和
三角形最小路径和 动态规划: 直接在原数组中修改,避免额外空间占用 PHP,20ms class Solution { /** * @param Integer[][] $triangle * @return Integer */ function minimumTotal($triangle) { if(count($...原创 2019-07-17 23:41:28 · 116 阅读 · 0 评论 -
leetcode 中等十 64.最小路径和
最小路径和: 动态规划: PHP,32ms,击败100%。 状态转移方程: $grid[$i][$j] += min($grid[$i+1][$j],$grid[$i][$j+1]); 题目规定,只能走右和下 多种动归的解法,但是可以在O(1)的情况下解题 反向求解和正向同理 class Solution { /** * @param Integer[][...原创 2019-06-10 20:51:07 · 118 阅读 · 0 评论 -
leetcode 中等八 338.比特位计数
比特位计数: 动态规划: PHP,20ms,解题里面最快的那个就是我哈哈哈哈哈。 状态转移方程: $res[$i] = $res[$i >> 1] + ($i&1); 最后一位是1,>>运算符将最后一位的1去掉,加上$i&1 最后一位是0,>>运算符将最后一位的0去掉,加上$i&1 class Solutio...原创 2019-06-03 21:23:06 · 104 阅读 · 0 评论 -
leetcode 中等九 877.石子游戏
石子游戏: 动态规划,别跟我扯什么博弈论,我不会: php,12ms,超过100%。 状态转移方程: $dp[$i] = max($piles[$i-1],$piles[$j])+$dp[$i-1]-min($piles[$i-1],$piles[$j]); 解答里面有很多都是用二维数组做的,其实一位数组就够了。用dp[i]来表示第i 轮中Alex比Lee多的石子 官方解答的第...原创 2019-06-05 20:33:14 · 141 阅读 · 0 评论 -
Leetcode 中等七 整数转罗马数字
整数转罗马数字: php: 56ms。 class Solution { /** * @param Integer $num * @return String */ function intToRoman($num) { $letter = ["M", "CM", "D", "CD", "C", "XC", "L", "X...原创 2019-04-17 21:13:13 · 112 阅读 · 0 评论 -
Leetcode 中等六 盛最多水的容器
盛最多水的容器: php: 52ms。双指针法。短板效应,所以移动小的值。 class Solution { /** * @param Integer[] $height * @return Integer */ function maxArea($height) { $maxArea = -1; $end...原创 2019-04-16 20:24:10 · 128 阅读 · 0 评论 -
Leetcode 中等五 字符串转换整数 (atoi)
字符串转换整数(atoi): php: 24ms。很蠢的一题···· class Solution { /** * @param String $str * @return Integer */ function myAtoi($str) { $resNum = ''; $strNew = trim($...原创 2019-04-12 20:04:21 · 135 阅读 · 0 评论 -
Leetcode 中等三 最长回文子串
最长回文子串: php: 32ms。Manacher 算法实现:时间复杂度O(n)。 class Solution { /** * @param String $s * @return String */ function longestPalindrome($s) { $new_str = "^#" . implode(...原创 2019-04-09 09:25:20 · 87 阅读 · 0 评论 -
Leetcode 中等四 Z字变换
Z字变换: php: 44ms,字符串操作完成,主要公式:n + (k - i*2) 和 n + i*2 class Solution { /** * @param String $s * @param Integer $numRows * @return String */ function convert($s, $numR...原创 2019-04-12 09:37:17 · 190 阅读 · 0 评论 -
Leetcode 中等二 无重复字符的最长子串
无重复字符的最长子串: PHP 56ms: 利用哈希表,理解的不是太明白,后期重构: class Solution { /** * @param String $s * @return Integer */ function lengthOfLongestSubstring($s) { $re = 0; $...原创 2019-03-04 16:29:19 · 101 阅读 · 0 评论 -
Leetcode 中等一 两数相加
两数相加: PHP 44ms: 其实可以用字符串的方式做。本解法仿照官方解法: /** * Definition for a singly-linked list. * class ListNode { * public $val = 0; * public $next = null; * function __construct($val) { $t...原创 2019-03-03 18:12:38 · 88 阅读 · 0 评论