连续子链表的最大和

连续子链表最大和

https://www.nowcoder.com/practice/650b68dfa69d492d92645aecd7da9b21?tpId=196&tqId=39746&rp=1&ru=/exam/oj&qru=/exam/oj&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26pageSize%3D50%26search%3D%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D196&difficulty=undefined&judgeStatus=undefined&tags=580&title=

连续子链表的最大和

思路:

1.由于需要求最长的连续子串之和,所以先可以初始化为最小值

2.用动态规划的解决连续的最长的子串和的思想

3.用一个个max1记录两种选择中较大值:一种情况是将当前的数加到原先串的后面,另一种情况是将该数直接作为一个新的串的起始点

4.再与之前记录下来的最大的连续子串和与这次得到最长的子串和进行比较,得到最大值

代码:

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 *	ListNode(int x) : val(x), next(nullptr) {}
 * };
 */
class Solution {
public:
    int FindGreatestSumOfSubArray(ListNode* head) {
        //INT_MAX=2^31-1
        //INT_MIN=-2^31
        //由于是需要求最大连续子串的和,所以可以初始化max1和max2为最小值
        //max1用于记录当前这个最长的子串,max2用来记录所有子串中的最长的子串
        int max1=INT_MIN;
        int max2=INT_MIN;
        //将head
        while(head!=NULL){
            //动态规划求连续子串和的最大值
            //有两种情况:一个是在原来的串上加上现在的这个数,还有一种情况是直接重新以该数作为
            //新串的开头进行计算该串的最大的和,取两种情况中的最大值
            max1=max(head->val+max1,head->val);
            //判断一下当前的最大之和的串和当前的最大之前的串中取一个最大的串
            max2=max(max2,max1);
            head=head->next;
        }
        return max2;
        
    }
};
全部评论

相关推荐

10-17 16:48
已编辑
南方科技大学 图像识别
记录一下找工作的感受吧。鼠鼠硕士阶段搞的图像处理,用了深度学习比较成熟、简单的模型,技能点主要在科研上研二下学期准备找工作,先投AI、机器学习的暑期实习,没有结果。当时不想投开发,觉得太累了。后面找不到工作,就转开发了。但是八股不会,刷题不精,挂了好多笔试面试。在一个线下宣讲会获得了一个小科技公司的日常实习机会。我的实习公司,70%是应届生,共同话题很多。我问了算法部门刚入职的同事,一位同事硕士阶段和我的成果差不多。他们毕业院校一般,觉得算法很难,之后想换工作。我也有几个985硕科班算法的朋友,他们去找工作🈚压力。我等凡人不跟他们竞争了。工位旁还有几位java开发工程师,我需要他们提供接口给我,大概也了解了他们的工作内容。一个同事说弄懂java虚拟机最重要。而我看那些知识点觉得很枯燥,我想我还是稍喜欢现在的工作,主要画画ui。鼠鼠也蛮喜欢科研,但是科研压力很大,想出好文章有时违背本心。而且鼠鼠方向和工业界联系不紧密,挣不了大钱。如果出国的话,🇺🇸现在环境比较糟糕,签证很难弄。好几个朋友想出国申博,还没结果。祝他们好运吧,我就不想继续卷了。同学院其他找工作的女生同学,只能找营销,产品经理之类的岗位,她们不是很喜欢。我是本科有一些开发经历,加上学历过关,才能转码的。男生稍微好一点,但是专业原因找工作也是有一些困难。大概就记录到这里吧,供大家参考,尤其是和我一样不上不下背景,正在纠结的朋友。截图随便配的,这家公司投了之后懒得做测评,今天收到面试邀请,我懒得去了。位置在惠州,觉得很远。u1s1,开发的工作真的好多,不论老家,还是惠州这种城市,还是深圳,都很多。
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务