达摩院面试更偏向于工程,通过工程挖掘专业知识点。主要是考察与开源代码的对比。最好是有几篇论文。
一面
(1)在线coding
求二叉树的最大递增子序列和
递归解法
struct
{
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
int getMax(TreeNode* root){
if(!root) return 0;
if(root->left && root->right){
if(root->left->val >= root->val && root->right->val >= root->val) return max((root->val + getMax(root->left)),(root->val + getMax(root->right)));
if(root->left->val >= root->val && root->right->val < root->val) return max((root->val + getMax(root->left)),(getMax(root->right)));
if(root->left->val < root->val && root->right->val >= root->val) return max((getMax(root->left)),(r