摘要: 一开始确实没有思路,一堆限制条件有点无从下手。 一圈一圈走,找到边界条件,左闭右开。 循环圈数就是N/2. 然后起始和结束位置也会变化。 奇数圈时要额外判断。 点击查看代码 class Solution { public: vector<vector<int>> generateMatrix(int 阅读全文
posted @ 2024-01-11 23:02 yun-che 阅读(15) 评论(0) 推荐(0)
摘要: 也是滑动窗口的应用,但用到了哈希表。 哈希表一个索引,一个真值。索引可以是任何符号,因此可以表示一个事物的数量关系和对应关系.删除某个索引及真值时,要用迭代器,erase(it)。 find是查找索引返回迭代器。 点击查看代码 class Solution { public: int totalFr 阅读全文
posted @ 2024-01-11 16:33 yun-che 阅读(41) 评论(0) 推荐(0)
摘要: 滑动窗口相当于双指针的变形,通过j指向末尾边界,这样遍历就只有O(n)的数量级,再通过i指针作为起始边界,while循环确定最短的长度。因为i j所框定的边界像窗口,所以叫滑动窗口。 用于解决的问题是最优区间的问题,记忆方法是右遍历,左判断,确定最佳区间。 还有一个技巧是可以用INT_MAX表示一个 阅读全文
posted @ 2024-01-11 12:14 yun-che 阅读(32) 评论(0) 推荐(0)
摘要: 最开始做的时候没想到双指针法,用了简单的冒泡排序结果超时了,题解中的sort函数用的是快排。 点击查看代码 void quick_sort(int a[], int l, int r) { if (l < r) { int i,j,x; i = l; j = r; x = a[i]; while ( 阅读全文
posted @ 2024-01-11 11:31 yun-che 阅读(8) 评论(0) 推荐(0)