代码即艺术 
  • 首页
  • 归档
  • 分类
  • 标签
  • 入门
  • 关于
  • 公益404
  •   
  •   
LeetCode 43. 字符串相乘(中)

LeetCode 43. 字符串相乘(中)

模拟竖式计算

2020-03-10
LeetCode
数组与指针
LeetCode 42. 接雨水(难)

LeetCode 42. 接雨水(难)

用栈来跟踪可能储水的最长的条形块。使用栈就可以在一次遍历内完成计算。我们在遍历数组时维护一个栈。如果当前的条形块小于或等于栈顶的条形块,我们将条形块的索引入栈,意思是当前的条形块被栈中的前一个条形块界定。如果我们发现一个条形块长于栈顶,我们可以确定栈顶的条形块被当前条形块和栈的前一个条形块界定,因此我们可以弹出栈顶元素并且累加答案到 ans 。

2020-03-10
LeetCode
栈和队列
LeetCode 41. 缺失的第一个正数(难)

LeetCode 41. 缺失的第一个正数(难)

一致输入数组长度为 n ,那么,大于 n 的数字,就肯定不是未出现的最小正整数。现在我们有一个只包含正数的数组,范围为 1 到 n,现在的问题是在 \(O(N)\) 的时间和常数空间内找出首次缺失的正数。如果可以使用哈希表,且哈希表的映射是 正数 -> 是否存在 的话,这其实很简单。"脏工作环境" 的解决方法是将一个字符串 hash_str 分配 n 个 0,并且用类似于哈希表的方法,如果在

2020-03-09
LeetCode
字符串与哈希表
LeetCode 40. 组合总和 II(中)

LeetCode 40. 组合总和 II(中)

如何去掉一个数组中重复的元素,除了使用哈希表以外,我们还可以先对数组升序排序,重复的元素一定不是排好序以后的第 1 个元素和相同元素的第 1 个元素。根据这个思想,我们先对数组升序排序是有必要的。候选数组有序,对于在递归树中发现重复分支,进而“剪枝”也是有效的。

2020-03-09
LeetCode
回溯算法
LeetCode 39. 组合总和(中)

LeetCode 39. 组合总和(中)

先排序后回溯,加法回溯逼近target,减法回溯逼近0。

2020-03-09
LeetCode
回溯算法
1…5859606162…82

搜索

Hexo Fluid