虾皮:笔试第二题。连续数乘积最大,有0 负数 正数。

如何考虑??
有大佬路过的,能给个详细解说吗。膜拜到天亮。
#京东招聘##Shopee#
全部评论
dp了
点赞 回复 分享
发布于 2022-03-27 16:42
class Solution { public:     int maxProduct(vector<int>& nums) {         int n = nums.size();         int res = nums[0];         int maxk = nums[0], mink = nums[0];         for(int i = 1; i < n; i++)         {             int a = nums[i] * maxk, b = nums[i] * mink;             maxk = max(nums[i], max(a, b));             mink = min(nums[i], min(a, b));             //cout << maxk << mink << endl;             res = max(res, maxk);         }         return res;                       } };
点赞 回复 分享
发布于 2022-03-07 21:42
力扣152
点赞 回复 分享
发布于 2022-03-07 21:06
动归 一个数组存当前最大值 一个数组存当前最小值 最大值乘负数有可能转为最小值 最小值乘负数可能转为最大值 反之…
点赞 回复 分享
发布于 2022-03-07 21:05
class Solution { public:     /**      * Note: 类名、方法名、参数名已经指定,请勿修改      *      *      * 找到数组中乘积最大的连续子数组,并返回乘积      * @param nums long长整型 vector 原始数组      * @return long长整型      */     long long GetSubArrayMaxProduct(vector<long> &nums) {         // write code here         int numsLen = nums.size();         long long mx, mi;         mx = 1;         mi = 0;         long long res = INT64_MIN;         for (int i = 0; i < numsLen; ++i) {             if (nums[i] > 0) {                 mx = mx * nums[i];                 mi = mi * nums[i];             } else if (nums[i] < 0) {                 if (mi == 0) {                     mi = nums[i] * mx;                     mx = 1;                 } else {                     mx = mi * nums[i];                     mi = mx * nums[i];                 }             } else {                 mx = 1;                 mi = 0;             }             res = max(mx, res);         }         return res;     } };
点赞 回复 分享
发布于 2022-03-07 21:04
LC152原题
点赞 回复 分享
发布于 2022-03-07 21:04
力扣原题152,我也没全a,只有70%,少考虑了一个判定条件,寄了寄了
点赞 回复 分享
发布于 2022-03-07 21:03

相关推荐

02-11 14:29
已编辑
字节跳动_QA
Edgestr:这种的写代码最狠了
点赞 评论 收藏
分享
2025-12-31 19:23
已编辑
门头沟学院 Java
ssob是已读不回的,字节是压根不敢投的,简历是反反复复改了N遍的,八股是永远背不完的😅😅😅扯远了,道心破碎了,把简历发出来让大伙先看看笑话。再说正事。寒假日常实习还是很难找,连个面试都难约,我不是个例,这是网上普遍反映。不报希望了,趁着2、3月前赶紧做些什么才是。扔几个碎碎念:1.这破简历还能怎么改?写到什么程度才能过实习岗筛选?广大牛友来锐评一下2.火速辅修go,是否可行目前看来是学习成本最小的。首先,很多go实习岗位已经明确要求掌握gin等技术栈,拿java简历投go的时代已经过去了。其次,很多后端的东西,MySQL、Redis这些都是通用的,不用重新学。所以这个问题就具体为:2.1&nbsp;java&amp;go混血简历怎么写第一个项目,仿大麦的微服务,不太好改。因为有用到Redisson、AOP、SpringAI这些java强相关的东西,包装成go需要替换这些方案。第二个,点评魔改。应该可以包装成go,github上也有人用go重写过。2.2&nbsp;java&amp;go通用的轮子RPC直接pass了,太烂大街了。不知道动态线程池能不能做。反正项目上新有风险,不一定来得及,非必要就不开新的项目。补充:别跟我扯RAG了,这玩意已经成新的烂大街了,详见我上一篇的吐槽。3.认真学微调prompt什么的这个半步踩进算法了已经。八股和场景题完全就是另一套,没两三个月搞不定的。约等于换方向
简历中的项目经历要怎么写
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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