京东算法题 第一题,求解

#京东##笔试题目#
全部评论
%27
点赞 回复 分享
发布于 2019-08-24 20:32
感觉不是特别难,从第一个数开始 一个指针记录第一个数, 然后第二指针往后遍历,当遇到一个比记录数大或者相等的时候,分组数加1, 然后用这个新的数替换原来的记录数,如此遍历完即可
点赞 回复 分享
发布于 2019-08-24 21:00
https://www.nowcoder.com/discuss/232733 我帖子写了,供参考
点赞 回复 分享
发布于 2019-08-24 21:17
先找数组中最小的数,然后跟它之前的数组成一个分组。然后从这个索引开始往后找剩余数组中最小的数,再跟之前的数划分一个组。直到找到数组末尾。一顿操作过了两个用例,粘进去一看发现27%,超时,难受啊。
点赞 回复 分享
发布于 2019-08-24 21:13
18%😂😂😂
点赞 回复 分享
发布于 2019-08-24 21:03
36
点赞 回复 分享
发布于 2019-08-24 21:03
就是分组,分出来的组从低到高排完之后,整个数组也能满足从低到高。
点赞 回复 分享
发布于 2019-08-24 21:01
leetcode 768. Max Chunks To Make Sorted II
点赞 回复 分享
发布于 2019-08-24 20:59
局部插入排序
点赞 回复 分享
发布于 2019-08-24 20:55
不应该是分组从高到低吗? 题目里都写得从低到高, 有人注意吗,还是我理解错了
点赞 回复 分享
发布于 2019-08-24 20:52
第一题题目好难懂,ac了,第二题粘测试用例,直接告辞
点赞 回复 分享
发布于 2019-08-24 20:42
 #include<bits/stdc++.h> using namespace std; const int maxn = 1e5+5; const int inf = 0x3f3f3f3f; typedef long long ll; ll a[maxn], n, minn[maxn], maxx[maxn]; int main() {         ios::sync_with_stdio(0);     cin>>n;     for(ll i=1; i<=n; i++)     cin>>a[i];     minn[n] = a[n];     for(ll i=n-1; i>=1; i--)     minn[i] = min(minn[i+1], a[i]);     maxx[1] = a[1];     for(ll i=2; i<=n; i++)     maxx[i] = max(maxx[i-1], a[i]);     ll ans = 1;     for(ll i=2; i<=n; i++)     if(maxx[i-1] <= minn[i]) ans++;     cout<<ans<<endl;     return 0; }
点赞 回复 分享
发布于 2019-08-24 20:42
36
点赞 回复 分享
发布于 2019-08-24 20:34
求代码 还有第二题
点赞 回复 分享
发布于 2019-08-24 20:34
题目都看半天😂
点赞 回复 分享
发布于 2019-08-24 20:31

相关推荐

找到实习了&nbsp;给了150一天&nbsp;但是说是低代码&nbsp;值得去吗
码农索隆:是在没实习,可去,待个一两周,不行就润呗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

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