题目描述 给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。 注意: 数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。 题目示例 这题目中有一个地方需要注意,每一个索引返回的概率都是相同的。比较笨的方法就是将与 target 相等的元素存放到一个中间集合中,最后从中间集合随机取一个。第二种办法就是利用蓄水池抽样法来解决这个问题...

题目: 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 示例: 输入:[1,8,6,2,5,4,8,3,7] 输出:49 题解: 这道题首...

连接 双指针:定义l1_cur,l2_cuir分别指向两个链表,对两个链表当前节点进行比较,确定返回节点的下一个元素,当遍历完某条链表后,将尚未遍历完的链表直接放在返回链表的后面...

连接 快慢指针:quick指针域slow指针,快指针一次走两步,慢指针一次走一步,若在一个时刻quick=slow则说明存在环,想象以下,同一赛道上两个运动员速度不一样但是一直跑,会相遇吗?...

连接 借助栈也可以 可以采用头插法 双指针: reverseTop:反转链表的首部,nonReverseTop:尚未反转链表的首部;不断将两个指针后移动,更新两个指针的指向,即可...