饿了么笔试0822 第二题题解

##饿了么笔试###笔试#
#include <bits/stdc++.h>
using namespace std;
const int N = 200010;
int a[N],n,cnt[N],idx,ans;
int main() {
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i],cnt[a[i]]++,idx = max(idx,a[i]);
    for(int i=1;i<idx;i++) if(cnt[i]%2) ans++;
    ans = ans/2+ans%2,cout<<ans;
}
其实用桶计数,计算出每种数出现的个数
那么出现了偶数次的是不用操作的,然后计算除了最大值以外有几种数出现了奇数次
比如说有:3个1,5个2
那么把其中的1变成2就能同时让两个出现奇数次的数变成偶数次,最后再把剩下的那个数变成最大值就行
全部评论
同学,瞅瞅我司,医疗独角兽,校招刚开,名额有限,先到先得,我的主页最新动态,绿灯直达,免笔试~
1 回复 分享
发布于 08-26 17:13 广东
😯也是这个做法但是只过了75
点赞 回复 分享
发布于 08-22 22:50 上海

相关推荐

第一题:n为奇数输出n个1,n为偶数输出n-1个0即可:#include&nbsp;&lt;iostream&gt;using&nbsp;namespace&nbsp;std;int&nbsp;main()&nbsp;{int&nbsp;t;cin&nbsp;&gt;&gt;&nbsp;t;while&nbsp;(t&nbsp;--)&nbsp;{int&nbsp;n;cin&nbsp;&gt;&gt;&nbsp;n;if&nbsp;(n&nbsp;&amp;&nbsp;1)&nbsp;{for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;n;&nbsp;i&nbsp;++)&nbsp;{cout&nbsp;&lt;&lt;&nbsp;1&nbsp;&lt;&lt;&nbsp;&quot;&nbsp;&quot;;}cout&nbsp;&lt;&lt;&nbsp;'\n';}&nbsp;else&nbsp;{for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;n&nbsp;-&nbsp;1;&nbsp;i&nbsp;++)&nbsp;{cout&nbsp;&lt;&lt;&nbsp;1&nbsp;&lt;&lt;&nbsp;&quot;&nbsp;&quot;;}cout&nbsp;&lt;&lt;&nbsp;0&nbsp;&lt;&lt;&nbsp;'\n';}}}第二题:如果你有n个长度相同的木棍,那么他们组成正m边形的组合是C(n,m)个,C是组合数,计下数就可以了。#include&nbsp;&lt;bits/stdc++.h&gt;using&nbsp;namespace&nbsp;std;#define&nbsp;int&nbsp;long&nbsp;longconst&nbsp;int&nbsp;p&nbsp;=&nbsp;998244353;const&nbsp;int&nbsp;N&nbsp;=&nbsp;5e3&nbsp;+&nbsp;10;int&nbsp;h[N],&nbsp;rh[N];int&nbsp;C(int&nbsp;n,&nbsp;int&nbsp;m)&nbsp;{if&nbsp;(n&nbsp;&lt;&nbsp;m)&nbsp;return&nbsp;0;return&nbsp;h[n]&nbsp;*&nbsp;rh[m]&nbsp;%&nbsp;p&nbsp;*&nbsp;rh[n&nbsp;-&nbsp;m]&nbsp;%&nbsp;p;}int&nbsp;qs(int&nbsp;a,&nbsp;int&nbsp;b)&nbsp;{int&nbsp;res&nbsp;=&nbsp;1;while&nbsp;(b)&nbsp;{if&nbsp;(b&nbsp;&amp;&nbsp;1)&nbsp;res&nbsp;=&nbsp;res&nbsp;*&nbsp;a&nbsp;%&nbsp;p;a&nbsp;=&nbsp;a&nbsp;*&nbsp;a&nbsp;%&nbsp;p;b&nbsp;&gt;&gt;=&nbsp;1;}return&nbsp;res;}signed&nbsp;main()&nbsp;{h[0]&nbsp;=&nbsp;rh[0]&nbsp;=&nbsp;1;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;&lt;&nbsp;N&nbsp;;&nbsp;i&nbsp;++)&nbsp;{h[i]&nbsp;=&nbsp;h[i&nbsp;-&nbsp;1]&nbsp;*&nbsp;i&nbsp;%&nbsp;p;rh[i]&nbsp;=&nbsp;qs(h[i],&nbsp;p&nbsp;-&nbsp;2);}int&nbsp;n;cin&nbsp;&gt;&gt;&nbsp;n;map&lt;int,&nbsp;int&gt;&nbsp;mp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;n;&nbsp;i&nbsp;++)&nbsp;{int&nbsp;x;cin&nbsp;&gt;&gt;&nbsp;x;mp[x]&nbsp;++;}for&nbsp;(int&nbsp;i&nbsp;=&nbsp;3;&nbsp;i&nbsp;&lt;=&nbsp;n;&nbsp;i&nbsp;++)&nbsp;{int&nbsp;res&nbsp;=&nbsp;0;for&nbsp;(auto&amp;&nbsp;it&nbsp;:&nbsp;mp)&nbsp;{res&nbsp;=&nbsp;(res&nbsp;+&nbsp;C(it.second,&nbsp;i))&nbsp;%&nbsp;p;}cout&nbsp;&lt;&lt;&nbsp;res&nbsp;&lt;&lt;&nbsp;'&nbsp;';}}3,最小生成树模板题,注意处理一下正边#include&nbsp;&lt;cmath&gt;#&nbsp;include&nbsp;&lt;iostream&gt;#include&nbsp;&lt;queue&gt;using&nbsp;namespace&nbsp;std;const&nbsp;int&nbsp;N&nbsp;=&nbsp;1e5&nbsp;+&nbsp;10;int&nbsp;p[N];int&nbsp;find(int&nbsp;x)&nbsp;{if&nbsp;(x&nbsp;!=&nbsp;p[x])&nbsp;p[x]&nbsp;=&nbsp;find(p[x]);return&nbsp;p[x];}int&nbsp;main()&nbsp;{int&nbsp;n,&nbsp;m;cin&nbsp;&gt;&gt;&nbsp;n&nbsp;&gt;&gt;&nbsp;m;priority_queue&lt;pair&lt;int,&nbsp;pair&lt;int,&nbsp;int&gt;&gt;&gt;&nbsp;pq;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;&lt;=&nbsp;n;&nbsp;i&nbsp;++)&nbsp;p[i]&nbsp;=&nbsp;i;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;1&nbsp;;&nbsp;i&nbsp;&lt;=&nbsp;m;&nbsp;i&nbsp;++)&nbsp;{int&nbsp;u,&nbsp;v,&nbsp;x;cin&nbsp;&gt;&gt;&nbsp;u&nbsp;&gt;&gt;&nbsp;v&nbsp;&gt;&gt;&nbsp;x;pq.push({x,&nbsp;{u,&nbsp;v}});}long&nbsp;long&nbsp;res&nbsp;=&nbsp;0;while&nbsp;(pq.size()&nbsp;&gt;&nbsp;0)&nbsp;{auto&nbsp;t&nbsp;=&nbsp;pq.top();pq.pop();int&nbsp;u&nbsp;=&nbsp;t.second.first;int&nbsp;v&nbsp;=&nbsp;t.second.second;int&nbsp;x&nbsp;=&nbsp;t.first;if&nbsp;(x&nbsp;&gt;=&nbsp;0)&nbsp;{res&nbsp;+=&nbsp;x;p[find(u)]&nbsp;=&nbsp;find(v);}&nbsp;else&nbsp;if&nbsp;(find(u)&nbsp;!=&nbsp;find(v))&nbsp;{res&nbsp;+=&nbsp;x;p[find(u)]&nbsp;=&nbsp;find(v);}}cout&nbsp;&lt;&lt;&nbsp;res&nbsp;&lt;&lt;&nbsp;'\n';
投递饿了么等公司10个岗位
点赞 评论 收藏
分享
08-22 20:10
门头沟学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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