获赞
485
粉丝
25
关注
4
看过 TA
16
湖南大学
2021
大数据开发工程师
IP属地:未知
暂未填写个人简介
私信
关注
2020-01-08 09:15
已编辑
腾讯_IEG_后台开发
典型的动态规划。dp[n]代表以当前元素为截止点的连续子序列的最大和,如果dp[n-1]>0,dp[n]=dp[n]+dp[n-1],因为当前数字加上一个正数一定会变大;如果dp[n-1]<0,dp[n]不变,因为当前数字加上一个负数一定会变小。使用一个变量max记录最大的dp值返回即可。 public int FindGreatestSumOfSubArray(int[] array) { int max = array[0]; for (int i = 1; i < array.length; i++) { array[i] += arra...
咖啡宝贝:思路挺好的,但也只能在刷题的时候这么写吧,如果是在生产代码上这么写,方法的调用方会很惊讶,因为这个方***改变数组中的内容,当调用方将数组传递到别的逻辑时,可能会产生想不到的结果。如果要避免,调用方则要拷贝一份array再传递给这个方法,那这样其实不如让方法实现者自己开辟一块dp数组。面试的时候这么跟面试官提一下,其实很能提现水平和自己的思考。
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务