上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页
摘要: 仅供自己学习 思路: 需要定义两个栈st1,st2.第一次调用CQueue()时,可以用于清空两个栈。加入元素的函数直接加入进st1即可,对于删除函数,要先判断st2是否为空,如果不为空直接从st2弹出元素,如果为空就从st1一直加元素直到st1为空,如果st1为空,st2没有元素加进去,那么就返回 阅读全文
posted @ 2021-04-05 00:18 Mrsdwang 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 新建一个数组,用left和right两个指针,判断nums[i]是否为偶,如果是就res[right]=nums[i],否则从left位置加。 代码: class Solution { public: vector<int> exchange(vector<int>& nums 阅读全文
posted @ 2021-04-04 23:47 Mrsdwang 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 题目要求最小的颜色种类,这里要从相同数字入手。因为相同数字有两种可能,第一种是多个同种颜色的兔子在说他们这种颜色的有多少只,另一种是不同种颜色有相同的数量,这是解决问题的关键点。 我们需要进行统计找规律。[2,2,2],那么最少种类的可能就是只有一种颜色,数量为3,所有兔子都被 阅读全文
posted @ 2021-04-04 23:25 Mrsdwang 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 这种题应该用动态规划,因为上到n台阶的方案需要分成不同种方案,即上一层和上两层的多种组合。 首先考虑上到最后一层,可以有上一层台阶到达最后一层,也可以有上两层台阶到达最后一层,那么总的方法就有 dp[n]=dp[n-1]+dp[n-2]种。 因为题目给的范围不为0,所以dp[0 阅读全文
posted @ 2021-04-04 00:04 Mrsdwang 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 直接遍历判断即可 class Solution { public: int calculate(string s) { int n=s.length(); int x=1,y=0; for(int i=0;i<n;++i){ if(s[i]=='A') x = 2*x+y; e 阅读全文
posted @ 2021-04-03 22:46 Mrsdwang 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 按照题目要求我们需要定义一个head头节点,并且因为树是二叉搜索树,所以要采取中序遍历才能得到从小到大的排序。 按照中序遍历的模板 dfs(root->left); cout<<root->val; dfs(root->right); 同样我们也通过这个模板写DFS,这里因为是 阅读全文
posted @ 2021-04-03 12:22 Mrsdwang 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 因为这是求公共子序列,不是公共子字串,所以公共的元素可以不连续,那么暴力为每个字符找相同的字符就需要O(n^2)的时间。 考虑用两个string的长度做二维矩阵,用动态规划。定义dp[i][j]为text1长度为i,text2长度为j是的公共子序列长度,text[0:i]定义为 阅读全文
posted @ 2021-04-03 11:37 Mrsdwang 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 我们通过DFS递归把所有的分支到叶子节点的都计算看是不是满足这个目标值。 首先判断递归传入的root是否是NULL,如果是就返回,不是就把这个sum-root->val,然后加入进path中去,如果 sum=0说明这条路是满足了target,那么久加入进res中,加入后不直接r 阅读全文
posted @ 2021-04-03 00:47 Mrsdwang 阅读(39) 评论(0) 推荐(1) 编辑
摘要: 仅供自己学习 思路: 因为要求接水的最大单位数,那么需要知道两侧的的高度。但如果遍历每一个位置再向两侧展开会很绕,需要很多if条件。如果我们从两侧向中间靠近则会容易理解得多。我们设置两个指针left和right,left指向第一个位置,right指向最后一个位置,在定义leftmax和rightma 阅读全文
posted @ 2021-04-02 10:05 Mrsdwang 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 思路比较简单,就是遍历整个矩阵,查找与word第一个字母相同的元素,然后搜寻他的上下左右的元素是否等于word的下一个元素,如果有一个方向有就从这个方向继续上述步骤。否则将会退出这个元素,从矩阵的下一个元素开始判断。实现的方法就是DFS回溯法。 我们当我们找到word相同元素的 阅读全文
posted @ 2021-04-01 20:00 Mrsdwang 阅读(82) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页