注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
本帖最后由 匿名 于 2022-9-22 21:32 编辑
难度适中,共四题,第三题地里出现过,第四题要化简一下题目叙述的包装。
第一题:输入一个整数阵列 years,根据下列规则计算并输出一整数 hour,hour 起始值为 0
规则1: if years < years[i + 1], then hour += 1
规则2: if years > years[i + 1], then hour += 2
解法思路:一层回圈跑过比较相邻元素大小,加上对应的值在 hour 变数,最后输出 hour 的数值即可
第二题:输入一任意数字字串 s = "11166998",将连续重复数字加总,拼装成新字串,直到无连续重复数字出现,输出处理后的字串。
ex: input = "11166998", 将 连续重复数字加总: 1 + 1 + 1 = 3, 6 + 6 = 12, 9 + 9 = 18,之后拼装
-> "3" + &quo 1]
step2: Bob 消除 (1, 1) -> numbers = [1, 3, 3]
step3: Alice 消除 (3, 3) -> numbers = [1]
step4: Bob 无法再消除任一 pair,输出输家 "Bob"
解法思路:使用 stack,类似括号配对问题,若 num == stack.top(),stack.pop() 并换人,否则 stack.push(num[i])。输出最后轮到谁
求加米感谢!![/i] |