#华为OD机试#
1.给你一堆数字,从中选3个组成最小的数 100
2.给你两组数,第一组表示设计者的id(不连续,可能是间隔射击,比如3,3,7,4,7,4),第二组表示对应得分。每个选手的得分中选最高的3个相加组成最终得分,并按照得分高低降序排列,得分相同按照id降序排列。比如3号300分,5号300分,2号299分,则返回5 3 3 100
3.给你n个字符串,让你求他可能组成的结果,并按照升序排列
eg:a b c 则返回abc,acb,bac,bca,cab,aba。
第一次只考虑每个字符串只有一个字符,10%
第二次考虑去掉重复结果,55.93%
第三次考虑大写在小写后面之类(默认排序大写在小写前面),还是55.93%
放弃,交卷了。
1.给你一堆数字,从中选3个组成最小的数 100
2.给你两组数,第一组表示设计者的id(不连续,可能是间隔射击,比如3,3,7,4,7,4),第二组表示对应得分。每个选手的得分中选最高的3个相加组成最终得分,并按照得分高低降序排列,得分相同按照id降序排列。比如3号300分,5号300分,2号299分,则返回5 3 3 100
3.给你n个字符串,让你求他可能组成的结果,并按照升序排列
eg:a b c 则返回abc,acb,bac,bca,cab,aba。
第一次只考虑每个字符串只有一个字符,10%
第二次考虑去掉重复结果,55.93%
第三次考虑大写在小写后面之类(默认排序大写在小写前面),还是55.93%
放弃,交卷了。
全部评论
你这个题不难啊
vector<string> vstr;//
int n;
cin >> n;
vector<string> vs;
for (int i = 0; i < n; i++)
{
string temp;
cin >> temp;
vstr.push_back(temp);
}
sort(vstr.begin(), vstr.end());//next_permutation需有序
while (next_permutation(vstr.begin(), vstr.end()))//next_permutation 返回bool类型,全排列vstr中元素
{
string sum;
for (auto& m : vstr)//auto for得到本次排列结果。后续可直接丢set中,排序输出、
{
sum += m;
}
vs.push_back(sum);
}
第三题,排列组合问题回溯算法吧
第三个不就求全排列吗
碰上学弟了😆
字节校招提前批➕社招内推 https://www.nowcoder.com/discuss/982789
碰到校友了嘿嘿
相关推荐
沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待;
2.你的排名比较靠前,不要担心,耐心等待;
3.问题不大,正在审批,不要着急签其他公司,等等我们!
4.预计9月中下旬,安心过节;
5.下周会有结果,请耐心等待下;
6.可能国庆节前后,一有结果我马上通知你;
7.预计10月中旬,再坚持一下;
8.正在走流程,就这两天了;
9.同学,结果我也不知道,你如果查到了也告诉我一声;
10.同学你出线不明朗,建议签其他公司保底!
11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享