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个外来居民眼睛是蓝色的。
有一天岛主对所有蓝眼睛下达驱逐令,要求他们离开。驱逐令的要求是:
- 每天早晨,岛主会公布是否还存在蓝眼睛(但不会公布具体数量)。
- 蓝色眼睛的人一旦「确定」自己是蓝眼睛,必须乘坐当晚的渡船离开。
- 大家都不知道m和n的准确数字。在白天,每个人都能清晰看到其他人眼睛的颜色。唯独看不到自己眼睛的颜色。
- 为了防止骚乱,岛主要求居民之间不能有语言,文字甚至是肢体动作等任何形式的交流——这样每个人眼睛的颜色也没办法被别人告知。
请问蓝眼睛们要经历多少天才能完全离开?
#25暑期实习##腾讯#