#华为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
碰上学弟了😆
第三个不就求全排列吗
相关推荐
07-19 22:10
兰州理工大学 Java 天天困啊:个人建议第一点就是熟悉Redis这里不要这么写,写上Redis比较核心的技术,什么缓存一致性,雪崩穿透击穿那些,掌握cos其实不用写在专业技能里这个你做了鱼皮的这个项目面试官默认应该认为你应该懂了,鱼皮这个项目核心挺多建议多啃啃,在做一个鱼皮的微服务项目俩项目在一起比较好哦
点赞 评论 收藏
分享
07-25 11:12
重庆大学 C++ 飞花断音:华为需要学历不高,但是很能干事儿,能吃苦也没怨言,愿意无偿加班,最好上有老下有小,不是独生子女,家庭条件不好,家在外地租房住,生活成本高,不会轻易跳槽,并且愿意接受低工资的奴仆任劳任怨地给任总的女儿买大别墅住
点赞 评论 收藏
分享