LeetCode
Cc又菜又帅
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 13. 机器人的运动范围
回溯法,做的时候对 递归的结束条件 想不出,1、觉得一个节点的上下左右遍历一定要满足一定顺序,不然会丢项。2、终止条件为一个点不满足数位之和<=K,之后它的上下左右都不访问了,上右不看没毛病,那左下呢,怕后来给漏了,换个顺序测试了一下,都通过了测试,这个现象的本质还没弄懂……#include <vector>#include <iostream>using namespace std;//剑指 Offer 13. 机器人的运动范围class Solution {.原创 2020-12-08 16:10:42 · 57 阅读 · 0 评论 -
剑指 Offer 12. 矩阵中的路径
剑指 Offer 12. 矩阵中的路径#include <vector>#include <iostream>using namespace std;//剑指 Offer 12. 矩阵中的路径class Solution {public: bool exist(vector<vector<char>>& board, string word) { //初始化visited矩阵 vector<vect原创 2020-12-08 14:45:52 · 44 阅读 · 0 评论 -
剑指 Offer 11. 旋转数组的最小数字
总结一下,大方向是使用二分法,首先分两种情况未旋转(如{1 2 3 4 5})和旋转(如{3 4 5 1 2}),然后旋转的情况里面要特别注意特殊情况和>=(<=)的情况; >=(<=)就是说中间值和两边之一一样,比较好处理。特殊情况为{(10 10 10 1 10)}因为和{( 10 1 10 10 10)}分不清,也就是二分的中间和两边相等,这种情况不会出现在二分的过程中,只会出现在一开始的情形里。所以判断到这种情况后,只能采用简单排序。```cpp```cpp#.原创 2020-12-07 22:21:14 · 57 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找一道“简单”的题搞了我好半天#include <vector>using namespace std;//剑指 Offer 04. 二维数组中的查找class Solution {public: bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { if ((matrix.size() == 0) ||原创 2020-10-29 00:32:25 · 50 阅读 · 0 评论 -
LeetCode 3. 无重复字符的最长子串
这种类型题第一次做,还是花了比较长的时间的,一共写了两三个版本才写出比较快的方法1、最后的方法:44ms左右,使用滑动窗口,创建左右两个“指针”,一个哈希表保存<字母,字母在字符创中的索引>,如果后面发现有重复了,就把重复的字母之前都删除掉,改变这个字母的哈希表的值,改变左指针位置。好的测试案例有:“abcbacbb”,“dvdf”,“”,“vdsdf”#include <list>#include <algorithm>#include <set>原创 2020-10-21 14:45:30 · 47 阅读 · 0 评论 -
LeetCode 1462. 课程安排 IV
LeetCode 1462. 课程安排 IVidea:BFS+setdata:20201014#include <vector>#include <list>#include <algorithm>#include <set>#include <queue>using namespace std;/*******************///LeetCode 1462. 课程安排 IV //看了T101402LC例程后我的程序原创 2020-10-14 21:38:03 · 159 阅读 · 0 评论