摘要:
给定一组个字符串,为每个字符串找出能够唯一识别该字符串的最小前缀。 输入 meituanapp meituanwaimai dianpingliren dianpingjiehun mt 输出 meituana meituanw dianpingl dianpingj mt 思路:只要前缀pre能在 阅读全文
摘要:
尽量多的模拟赛,每场模拟赛需要包含Easy,Medium,Hard 三种难度的题目各一道。求你最多能出多少场模拟赛。 思路:套路 ···py """ 输入:2 2 1 2 2 输出:3 三组分别是 E + EM + H E + MH + H EM + M + MH """ def chk(c,E,E 阅读全文
摘要:
小易可以在字符串尾部加入任意数量的任意字符,使其字符串变成回文串。现在请你编写一个程序,程序要能计算出小易可以得到的最短回文串。 思路:问题一定存在解,因为大不了将整个字符串反转再拼接,而noo,这种中间有重复字符的字符串,我们只需反转一下,然后不断截取子串拼接即可 def chk(s): i,j= 阅读全文
摘要:
n 个题目,第 i 个题目的分数是 si。如果小易第 i 题目回答正确,他将得到 Si 分,否则该题目他将得到 0 分。 最终的考试得分是所有题目得分的总和。由于阅卷老师很讨厌数字 5,在阅卷时如果一个学生的考试总分中含有数字 5,那么阅卷老师将气愤地给他 0 分。 那么小易考试的最高得分是多少? 阅读全文
摘要:
给定长度为 m 的序列 T,求一个长度为 n 且字典序最小的排列.并且要求序列 T 为所求排列的子序列(1<=m<=n<=1e6) 思路:长度为n,看样例发现是只包含1~n的元素,因为是要求T只是子序列,直接用双指针比较谁小谁就在前面 def solve(A, n, m): vis, ans, B 阅读全文
摘要:
请你找出 nums 中 和的绝对值 最大的任意子数组(可能为空),并返回该 最大值。 思路:mi记录最小值,mx记录最大值; x>0,答案的子数组mi一定会就此断开 x<0,答案的子数组mx一定会就此断开 所以无论x怎样,mi、mx都记录了所有可能,不必关心x的正负,只需考虑mi、mx的正负即可 c 阅读全文
摘要:
大小为 a、b 和 c 的三堆石子。每回合要从两个不同的非空堆中取出一颗石子,并在得分上加 1 分。当存在两个或更多的空堆时,游戏停止。求可以得到的 最大分数。(1 ⇐ a, b, c ⇐ 10) 思路:要求最大得分,自然是每次从最大、次大这两堆中各取1颗,但是不必每次取一颗 阅读全文
摘要:
字符串 s ,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 109 + 7 取余 后的结果(n<=1e5)。 思路:对于xxxffffxxx,同构字符串f有多少个?设n=len(ffff) n个f n-1个ff n-2个fff n-3个ffff =1+2+3+4个同构字符串,规律 阅读全文
摘要:
将n份工作分给k个工人,求一种方案使得工人们的最大工作时间最少(1 ⇐ k ⇐ jobs.length ⇐ 12) 思路:对于第i分工作: 可以将其安排到的当前的j个工人身上 也可以放到j+1个人身上 var n, ans int var time, cost []int func dfs(a, b 阅读全文
摘要:
c. 用栈实现队列 class MyQueue { public: stack<int> a,b; MyQueue() { } void push(int x) { while (!a.empty()) b.push(a.top()), a.pop(); a.push(x); while (!b.e 阅读全文