法1:动态规划 先贴个递归版本: int cutRope(int n) { // write code here if(n <= 4) return n; int res = 0; for(int i = 1; i < n; i++){ // 从i=1开始 表示第一刀剪下的长度 res = max(res, max(cutRope(n-…
和NO65差不多,dfs即可。 #include <vector> using namespace std; class Solution { public: int dx[4] = {1,0,-1,0}; int dy[4] = {0,1,0,-1}; int row; int col; int count; int t; int movi…
给定一棵二叉搜索树,请找出其中第k大的节点。 二叉搜索树的中序遍历,是满足从小到大的排序性质的,因此要找第k大,直接中序遍历翻转(右根左),找出第k个就行了。 class Solution { public: int k = 0; int res = 0; void dfs(TreeNode* root){ if(root == nullptr |…