摘要: 我花了1个多小时才提交成功,思路很复杂,就不写了, 写一个很受启发的、好的思路 单调栈的方法没有看明白,以后回头再看!!!。 阅读全文
posted @ 2019-09-30 19:51 ACStrive 阅读(249) 评论(0) 推荐(0) 编辑
摘要: leetcode769. 最多能完成排序的块 我的第一次提交,滑动窗口法: 分析如下: 若 arr[0]==4,则第一部分至少为0~4,另外0~4范围内这五个数必须在0~4内,此时是一个划分;若遇到一个数大于4,比如arr[1]==8,则第一部分起码是0~8,j指示窗口最大位置,i指示最左位置,直到 阅读全文
posted @ 2019-09-30 17:33 ACStrive 阅读(279) 评论(1) 推荐(0) 编辑
摘要: 周赛总结 vector模板: vector<int> nums(10, 0) 使用vector模板声明并初始化一维整数数组 vector<vector<int>> dp(100, <vector<int>>(2, 0)) vector定义二维数组,100*2大小,初始化为0 vector<vecto 阅读全文
posted @ 2019-09-29 23:29 ACStrive 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 结构体struct C++语法中,结构体不但可以有自己的数据成员,还可以有自己的函数成员、有自己的构造函数、析构函数、控制访问权限、继承、包含多态等。语法几乎一样。 这是对C中Struct的扩充,主要是因为为了保留对C的兼容。 用途:定义一些数据类型,组合为一个整体,而没有什么操作,适合与结构体。 阅读全文
posted @ 2019-09-29 21:29 ACStrive 阅读(573) 评论(0) 推荐(0) 编辑
摘要: leetcode155. 最小栈 第一次提交试用等容量的辅助栈来做,很容易想到: 接着查看别人的代码,发现可以优化辅助数组的容量,由于最小栈一些元素重复,当新元素大于最小栈栈顶元素时,新元素不入栈;pop时若弹出元素大于最小栈栈顶元素时,最小栈栈顶元素也不弹出,很好的优化思路。 添加两个约束条件即可 阅读全文
posted @ 2019-09-28 17:10 ACStrive 阅读(163) 评论(0) 推荐(0) 编辑
摘要: leetcode232.用栈实现队列 这道题和上一篇是姊妹篇:【小白刷题之路Day29】leetcode225. 用队列实现栈(C++ STL 队列的使用操作) 我的提交: 思路:两个栈S1、S2,栈1用来接收元素,当需要pop时,元素转到栈2,在栈2中逆序输出即可。 输入直接push进栈1,pop 阅读全文
posted @ 2019-09-28 12:27 ACStrive 阅读(199) 评论(0) 推荐(0) 编辑
摘要: leetcode225. 用队列实现栈 我的第一次提交: 缺点:push()操作简单,数据在元素中以队列形式存放,结果就是后面每次操作时都要循环处理数据, 查看别人代码,令人惊喜的是看到有人在push()操作时加一点工作量,让数据在队列中以栈的顺序存储好,接下来所有操作将变得简单。 新思路的第二次提 阅读全文
posted @ 2019-09-28 11:54 ACStrive 阅读(417) 评论(0) 推荐(0) 编辑
摘要: leetcode739 每日温度 第一次提交代码 除了i指示回溯的左端外,引入p指示回溯的右端。 最后优化代码: (开头特殊例子检测可以省略,不影响结果) 暴力法时间复杂度为O(n^2),优化后仍然不变,但是不优化无法通过案例(无数个“76”) 单调栈法(Monotone Stack) 本题是一个很 阅读全文
posted @ 2019-09-28 00:42 ACStrive 阅读(174) 评论(0) 推荐(0) 编辑
摘要: leetcode20 有效的括号 我的C++代码: 跟其他代码题解对比,我觉得思路与可读性不差。 总结: 阅读全文
posted @ 2019-09-27 19:03 ACStrive 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认 阅读全文
posted @ 2019-09-27 18:41 ACStrive 阅读(244) 评论(0) 推荐(0) 编辑