//returnasea
//returnasea
全部文章
分类
题解(106)
归档
标签
去牛客网
登录
/
注册
//returnasea的博客
全部文章
(共106篇)
题解 | #买卖股票的最好时机#
动态规划:dp[i][0]表示第i天空仓情况下的最大盈利,dp[i][1]表示第i天满仓状态下的最大盈利,递推公式为:第i天的状态由第i-1天的空仓或者满仓两种状态递推而来。 class Solution { public: /** * * @param prices ...
C++
2021-10-04
0
351
题解 | #包含min函数的栈#
使用一个保存数据的栈和一个保存当前最小值的辅助栈,辅助的栈顶元素总是目前的最小值,在push和pop的时候维护两个栈就可以了。 class Solution { public: void push(int value) { stk.push(value); i...
C++
2021-10-04
0
393
题解 | #在旋转过的有序数组中寻找目标值#
二分查找 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @param target ...
C++
2021-10-04
0
530
题解 | #求平方根#
二分法求根(向下取整) class Solution { public: /** * * @param x int整型 * @return int整型 */ int mysqrt(int x) { long long int...
C++
2021-10-04
0
348
题解 | #最长递增子序列#
贪心算法,遍历数组arr,每次都取尽量长的递增子序列,保存在result中;数组max_len用于保存arr[0,i]的元素中小于等于arr[i]的元素的个数。最后根据等式max_len[i]==j选择最终的结果,表示递增子序列的第j个元素应该这么选:它正好就是arr数组中的元素arr[i],满足a...
C++
2021-10-03
0
429
题解 | #重建二叉树#
前序的第一个结点就是根结点,并且将后序一分为二,再根据分割后序得到的左后序和右后序两部分,将前序也分为左前序和右前序两部分,这两部分对应地与后序的两部分大小相同。接着递归地重建左子树和右子树。 /** * Definition for binary tree * struct TreeNode ...
C++
2021-10-01
0
383
题解 | #数组中相加和为0的三元组#
思路一:固定一个数,选择其他两个数,复杂度O(n^3)。 思路二:dfs回溯法,注意在dfs中不能sort(path)以避免回溯顺序打乱,注意多个元素共同排序的lambda。 class Solution { public: void dfs(const vector<int>&...
C++
2021-10-01
1
407
题解 | #最长回文子串#
思路一:暴力法。遍历每一种可能的回文串长度。 class Solution { public: bool is_palindrome(string s,int left,int right){ for(int i=left,j=right;i<=j;i++,j--){ ...
C++
2021-10-01
0
412
题解 | #斐波那契数列#
递归,注意0、1、2的斐波那契数值。 class Solution { public: int Fibonacci(int n) { if(n==0) return 0; if(n<=2) return 1; else return Fi...
C++
2021-10-01
0
356
题解 | #螺旋矩阵#
模拟题,注意matrix只包含一行或者一列的情况,loop完之后还剩余一行或者一列的情况。 class Solution { public: vector<int> spiralOrder(vector<vector<int> > &matrix)...
C++
2021-10-01
0
480
首页
上一页
2
3
4
5
6
7
8
9
10
11
下一页
末页