wxg-公众号&小程序-一面

算法题

给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。

请你将 list1 中下标从 a 到 b 的全部节点都删除,并将list2 接在被删除节点的位置。

请你返回结果链表的头指针。

示例 1::list1 = [0,1,2,3,4,5,6], a = 2, b = 5, list2 = [1000000,1000001,1000002,1000003,1000004]输出:[0,1,1000000,1000001,1000002,1000003,1000004,6]

请你实现一个URL的参数解析,解析参数当中指定key的value值

实现支持下列接口的「快照数组」- SnapshotArray:

  • SnapshotArray(int length) // 初始化一个与指定长度相等的 类数组 的数据结构。初始时,每个元素都等于 0。
  • void set(index, val) // 会将指定索引 index 处的元素设置为 val。
  • int snap() // 获取该数组的快照,并返回快照的编号 snap_id(快照号是调用 snap() 的总次数减去 1)。
  • int get(index, snap_id) // 根据指定的 snap_id 选择快照,并返回该快照指定索引 index 的值。

内存用量不超过32MB,请注意算法复杂度。

示例:

输入:["SnapshotArray","set","snap","set","get"][[3],[0,5],[],[0,6],[0,0]]输出:[null,null,0,null,5]解释:

SnapshotArray snapshotArr = new SnapshotArray(3); // 初始化一个长度为 3 的快照数组snapshotArr.set(0,5); // 令 array[0] = 5snapshotArr.snap(); // 获取快照,返回 snap_id = 0snapshotArr.set(0,6);snapshotArr.get(0,0); // 获取 snap_id = 0 的快照中 array[0] 的值,返回 5

输入范围:1 <= length <= 50000题目最多进行50000 次set,snap,和 get的调用 。0 <= index < length0 <= snap_id < 我们调用 snap() 的总次数0 <= val <= 10^9

思考题

有一个岛上住着一群人,m个原住居民眼睛是棕色的,n个外来居民眼睛是蓝色的。

有一天岛主对所有蓝眼睛下达驱逐令,要求他们离开。驱逐令的要求是:

  1. 每天早晨,岛主会公布是否还存在蓝眼睛(但不会公布具体数量)。
  2. 蓝色眼睛的人一旦「确定」自己是蓝眼睛,必须乘坐当晚的渡船离开。
  3. 大家都不知道m和n的准确数字。在白天,每个人都能清晰看到其他人眼睛的颜色。唯独看不到自己眼睛的颜色。
  4. 为了防止骚乱,岛主要求居民之间不能有语言,文字甚至是肢体动作等任何形式的交流——这样每个人眼睛的颜色也没办法被别人告知。

请问蓝眼睛们要经历多少天才能完全离开?

#25暑期实习##腾讯#
全部评论
一模一样的算法题和部门,然后我挂了
点赞 回复 分享
发布于 05-10 00:11 四川

相关推荐

不愿透露姓名的神秘牛友
11-28 19:21
已编辑
阿里云 后端开发 30k*16 硕士985
点赞 评论 收藏
分享
评论
5
9
分享
牛客网
牛客企业服务