好未来笔试0903

第一题

请编写一个函数,实现在二叉搜索树(BST)找到指定节点的操作,如果找到就输出该节点的值,否则返回-1;

/*
* type TreeNode struct {
*   Val int
*   Left *TreeNode
*   Right *TreeNode
* }
*/

/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @param target int整型
* @return int整型
*/
func searchBST( root *TreeNode ,  target int ) int {
   // write code here

   if root==nil{
       return -1;
   }
   if(root.val==target){
       return root.val;
   }
   if(root.val>target){
       return searchBST(root.Left,target);
   }else{
       return searchBST(root.Right,target);
   }
}

第二题

给你一个正整数组成的数组 nums,返回 nums 中一个 降序子数组的最大可能元素和,子数组是数组中的一个连续数字序列,连续为1的数组也为降序子数组

package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
func maxAscendingSum( nums []int ) int {
    // write code here
    if(len(nums)==0){
       return 0;
    }
    maxSum:=0;
    currentSum:=0;
    for i:=1;i<len(nums);i++{
       if(i==0||nums[i]<nums[i-1]){
          currentSum+=nums[i];
       }else {
          if currentSum>maxSum {
             maxSum = currentSum;
          }
          currentSum=nums[i];
       }
    }
    if currentSum>maxSum {
       maxSum = currentSum;
    }
    return maxSum;
}
#软件开发薪资爆料#
秋招笔面记录 文章被收录于专栏

秋招中的笔试以及面记录

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务