07 2020 档案

摘要:原题链接 题解 直接手动模拟过去,时间复杂度为O(n) 代码如下 class Solution { public: vector<int> distributeCandies(int candies, int num_people) { vector<int> res(num_people, 0); 阅读全文
posted @ 2020-07-19 14:36 Lngstart 阅读(92) 评论(0) 推荐(0)
摘要:原题链接 题解 用BFS直接套就行 代码如下 class Solution { public: int st[11][11]; int orangesRotting(vector<vector<int>>& grid) { int lenx = grid.size(); if(lenx == 0) 阅读全文
posted @ 2020-07-19 14:30 Lngstart 阅读(139) 评论(0) 推荐(0)
摘要:原题链接 题解 方式一:利用额外的空间 开一个额外的空间存放数据,最后再放回去 代码如下 class Solution { public: void merge(vector<int>& A, int m, vector<int>& B, int n) { int i = 0, j = 0; int 阅读全文
posted @ 2020-07-19 14:24 Lngstart 阅读(95) 评论(0) 推荐(0)
摘要:原题链接 题解 可以直接使用一个queue直接解决,在进行push()操作的时候,当我们每插入一个元素,都要保证我们新插入的元素要在队头,这就要每一次插入的时候进行队列的反转,因为从开始插入的时候就反转,所以我们新插入的元素的前面的元素都是符合要求的(即后面插入的数据比前面插入的数据在队列的前面), 阅读全文
posted @ 2020-07-18 23:19 Lngstart 阅读(86) 评论(0) 推荐(0)
摘要:原题链接 题解 利用双指针算法,直接让后面一个指向前面一个 代码如下 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x 阅读全文
posted @ 2020-07-18 17:38 Lngstart 阅读(87) 评论(0) 推荐(0)
摘要:原题链接 题解 直接对二叉树进行遍历,如果找到了答案直接返回 代码如下 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * 阅读全文
posted @ 2020-07-07 10:28 Lngstart 阅读(83) 评论(0) 推荐(0)
摘要:原题链接 题解 一个简单的动态规划,除了第0行、第0列和障碍物之外的点,都是由他的上一个点和左边的一个点拓展而来 所以当该点是障碍物:令dp[i][j] = 0(方便后面直接运算) 当该点是(0,0)且不是障碍:dp[0][0] = 1; 当该点是第0行的点:令dp[i][j] = dp[i][j 阅读全文
posted @ 2020-07-06 16:17 Lngstart 阅读(80) 评论(0) 推荐(0)
摘要:原题链接 题解 题目是说有多少个连通块,每一次以一个开始,遍历并标记他能够到达的点(就是同一个连通块中的点) 代码如下 dfs #include <iostream> #include <algorithm> #include <cmath> #include <cstring> #include 阅读全文
posted @ 2020-07-04 15:34 Lngstart 阅读(90) 评论(0) 推荐(0)
摘要:原题链接 题解 一个三维的bfs,直接向6个方向走就是了,直接套模板 #include <iostream> #include <algorithm> #include <queue> using namespace std; typedef struct node{ int x, y, z; no 阅读全文
posted @ 2020-07-04 14:44 Lngstart 阅读(190) 评论(0) 推荐(0)
摘要:原题链接 题解 二叉搜索树的中序遍历是升序序列,题目给定的数组是按照升序的有序数组,因此可以确保数组是二叉搜索树的中序遍历序列。 题目中要保证是平衡的二叉搜索树,所以我们只要每次选择数组区间中间的点作为节点,节点的左边的数字一定是该节点的左子树,同理右边也是,就能保证是一个平衡的二叉树,利用递归来实 阅读全文
posted @ 2020-07-04 13:38 Lngstart 阅读(96) 评论(0) 推荐(0)