关注
第一题是个rand5生成rand7的经典题,关键在于若m>n,则randm()可以直接生成randn(),只要randm()生成1到n之间返回即可,生成的数大于n就重新调用。然后可以用(randm() - 1) * m + randm()来生成1到m^2的随机数。楼主用三进制的做法,此时命中率是(2*89)/(3^5)即178/243。其实也可以生成3^6=729以内的数,然后在8*89=712以内返回,结果对89求余后加1即可,命中率是712/729,只不过每次要多调用1次rand3()。如果要深抠命中率的话就太麻烦了。第二题好像在哪里看过原题,记录子串起始位置,整个迭代过程中子串保持不含重复字符的性质,每次不能保持该性质时比较下最大长度。写了下还是磕磕绊绊的,主要是之前命名太随意导致各种写错…… int longest_unique_substr_len(const std::string& s) {
constexpr size_t kInitPos = -1;
std::vector<size_t> hashmap(26, kInitPos);
size_t low = 0;
size_t maxlen = 0;
for (size_t i = 0; i != s.size(); ++i) {
size_t key = s[i] - 'a';
if (hashmap[key] != kInitPos && hashmap[key] >= low) {
maxlen = std::max(maxlen, i - low);
low = hashmap[key] + 1;
}
hashmap[key] = i;
}
return std::max(maxlen, s.size() - low);
}
查看原帖
点赞 1
相关推荐
07-17 09:30
门头沟学院 客户端其它 爱睡觉的冰箱哥:是这样,实习一两段达到过简历关门槛,加上把简历玩具项目替换掉,实习的目的就达成了一大半
点赞 评论 收藏
分享
07-04 17:40
惠州学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 百度提前批一面1.7W
- 2... 回忆录:后端鼠鼠苦苦哀求日常实习8332
- 3... 去一座新的城市,开始一段新的旅途3658
- 4... 大三双非水产专业上岸阿里后端(一)3191
- 5... 一线城市生存成本分析:月薪多少才够用?2542
- 6... 焦虑麻了2447
- 7... 天塌了,自制力差,学了一学期的JavaSE,暑假玩了四五天天,花了八九天把笔记都看了了一遍发现记不住,就花了九天去学MySQL,然后再回过来练习Javase面试,随机抽了两个题目,线程的生命周期,ArrayList和linkedlist的区别,一点也讲不出来,我是不是不适合走后端🤯🤯🤯备受打击,现在se也不想复习了,脑子一团乱糊感觉知识进不去😭😭😭下学期就大三了,我还是民办三本,😭我该何去何从🤡2414
- 8... 做题家,内卷魔怔人是如何破坏大环境的?2272
- 9... 实习转正,看的不只是硬实力2040
- 10... 25届应届硕士入职一星期辞职了1945
正在热议
更多
# 风评不好的公司,你会去吗? #
37505次浏览 230人参与
# 假如你的老板掉河里,你的工作能为他做什么 #
31227次浏览 380人参与
# 第一份工作应该选高薪还是热爱? #
72193次浏览 699人参与
# 职场新人体验 #
4001次浏览 55人参与
# 你觉得第一学历对求职有影响吗? #
95689次浏览 675人参与
# 外包能不能当跳板? #
37972次浏览 228人参与
# 你觉得早上几点上班合适? #
73701次浏览 308人参与
# 学历贬值真的很严重吗? #
26493次浏览 180人参与
# 推荐一首陪你工作的歌吧 #
15285次浏览 99人参与
# 秋招签约后的心态变化 #
84100次浏览 821人参与
# 双非能在秋招上岸吗? #
223379次浏览 1180人参与
# 听劝,这个公司值得去吗 #
487757次浏览 1709人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
93486次浏览 692人参与
# 打工人的工作餐日常 #
54994次浏览 436人参与
# 反问环节如何提问 #
93810次浏览 1938人参与
# 大学最后一个寒假,我想…… #
47436次浏览 576人参与
# 面试被问第一学历差时该怎么回答 #
138008次浏览 853人参与
# 一人推荐一个值得去的通信/硬件公司 #
187191次浏览 1861人参与
# 月薪多少能在一线城市生存 #
37275次浏览 357人参与
# 机械制造秋招总结 #
54665次浏览 513人参与