LeetCode
LeetCode刷题
葡萄老君
这个作者很懒,什么都没留下…
展开
-
leetcode 628: maximum3 product
原题 leetcode 628第一个思路如下, 求n个数中任选3个(k个)数的最大积;需要考虑负数的情况, 可以先选出2个最大正数和最小负数(可以和求第3大数类似的思路), 然后求这2个正数, 复数的积的大者, 然后再从剩下的序列中找出最大的正整数, 相乘得到最大的3个数的积.但这个思路是特定针对k=3的; 在有负数的情况下,不适用于k为任意数字的通用思路;隔了一天, 想到了第二个思路:最大的k个数积: n个数中选任意3个, 求出积最大的那个, 实际上就等效于n个元素的集合选出k=3的子集, 然后原创 2020-07-28 23:20:41 · 176 阅读 · 0 评论 -
求子集问题
原题: leetcode这道题提供若干种解法。之所以如此, 原因是和软院同学王佳晚上的一次会话。因为一开始我写不出基于回溯思想的非递归的实现,想找王佳请教一下。聊完之后, 经受点拨, 感觉确实收益颇深!写来记录一下。解题最重要的, 是理解什么才"正向的"解题思路。 找到一个可以表示问题空间的模型,或者理解题目本身具有的性质,或者是能把问题抽象成数学或状态方程。 借助这样的理解,可能会把问题A转化成问题B. 再借助问题B有关的知识,方法去解题。以给求定集合A的所有子集问题为例,可以有好几种理解该问题的模原创 2020-07-23 18:51:56 · 1049 阅读 · 0 评论 -
N皇后问题详解
原题: leetcode 51隐式图, 状态/关系, DFS与回溯法图的DFS的搜索过程形成搜索树, 在七月君的视频及pdf里有针对图的DFS/BFS的详细过程的讲解. 注意这个讲解是针对图(邻接表实现)的结构进行的; DFS/BFS的时间复杂度都是O(n + m); (n - 节点数量, m - 边数量); 但现实解题中图的结点和边并不是一开始就明确给出的, 需要把现实问题转换成一个"隐式图"。隐式图, 需要根据问题去划分"状态"与"关系"。状态是指从初始到目标, 问题经历的中间过程; 状态一般是隐原创 2020-07-21 11:31:42 · 4170 阅读 · 0 评论 -
拓扑习题 leetcode 207 cource schedule
原题: course schedule#include <iostream>#include <vector>using namespace std;class Solution { public: struct ArchNode { int idx; struct ArchNode* next; ArchNode(int i): idx(i), next(nullptr) {} }; str.原创 2020-07-13 16:50:17 · 88 阅读 · 0 评论 -
最大子数组积C++实现
最大子数组积原题描述原题描述参考: leetcode’s 152 Maximum Product SubarrayGiven an integer array nums, find the contiguous subarray within an array (containing at least one number) which has the largest product.E...原创 2019-07-19 17:49:31 · 446 阅读 · 0 评论 -
最大子数组积-2
动态规划的解法:动态规划,是递归(或遍历) + 缓存的技术; 此题一遍遍历就已经可以得到累积的结果了比较直观; 解释在第一个js版本的注释中/**具体例子:idx: 0, 1, 2, 3, 4 .... n-1nums: 2, 3, -1, -3, 2 ....dpMax: 2, 6, -1=max(-6, -1), 18=max(-3*-1, -...原创 2020-01-05 23:13:02 · 154 阅读 · 0 评论 -
decodeString
leetCode 394: decodeString第一个版本写的非常挫折,代码也十分混乱。比较大的收获是学会了gdb调试常规情况. 总结一些心得:先不要着急开始写;有些情况是递归方便, 有些情况是非递归方便(例如按层遍历树, 包括此题). 前提是, 如果需要递归把递归的操作拆解清楚(返回类型, 入参等); 对于递归情况和复杂的,尝试拆解手工栈的操作;对于这种明显利用栈或某种数据结构的,...原创 2020-01-09 12:34:00 · 361 阅读 · 0 评论 -
设计一个可以求最大/最小元素的队列/栈
设计一个可以求最大/最小元素的队列/栈设计队列/栈, 支持出入,求最大元素; 要求全部操作O(1)leetcode 155MinStack, leetCode 155// 这个解在提交leetcode时,// 由于测试数据样本很多很大,会出现heap-buffer-overflow, 是int值溢出了;#define MAX_INT 2147483646class MinSt...原创 2020-03-08 20:49:34 · 164 阅读 · 0 评论 -
最长连续序列 & 初探并查集
最长连续序列, leetCode 128, 难度: hard首先想到的是基于数组的桶排序的方案(找出数组的最大的连续非空的元素个数), 并写了一个版本。但实际上桶排序是行不通的; 一方面桶排序申请的内存规模与样例数组的规模有关, 占用大量内存, 另一方面, 样例数组的数据有正有负, 而数组无法用负数索引,导致实际不可行。尽管有的样例是都是整数,可以在某些环境执行通过,leedCode有san...原创 2020-03-14 22:57:24 · 287 阅读 · 0 评论