题目描述
一个整型数组 nums
里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是$O(n)$,空间复杂度是$O(1)$。
示例 1:
1 | 输入:nums = [4,1,4,6] |
示例 2:
1 | 输入:nums = [1,2,10,4,1,4,3,3] |
限制:2 <= nums.length <= 10000
编写一个程序,找到两个单链表相交的起始节点。
如下面的两个链表:
在节点 c1 开始相交。
示例 1:
1 | 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 |
1 | 输入:一个二维数组,每一个元素为0或者1 |
示例:
1 | 输入: |
说明:
1 | [[1, 0, 0, 1, 0], |
实现方法:Integer maxArea(List<List<Integer>> data)
请定义一个队列并实现函数 max_value
得到队列里的最大值,要求函数max_value
、push_back
和 pop_front
的均摊时间复杂度都是$O(1)$。
若队列为空,pop_front
和 max_value
需要返回 -1。
示例 1:
1 | 输入: |
示例 2:
1 | 输入: |
限制:
1 <= push_back,pop_front,max_value的总操作数 <= 10000
1 <= value <= 10^5
给定一个仅包含数字 0 − 9 的二叉树,每一条从根节点到叶子节点的路径都可以用一个数字表示。
例如根节点到叶子节点的一条路径是 1 → 2 → 3 ,那么这条路径就用 123 来代替。
计算根节点到叶子节点的所有路径表示的数字之和。
示例 1:
1 | 输入:root = [1,2,3] |
1 | 输入:root = [4,9,0,5,1] |
提示:
[1, 1000]
内0 <= Node.val <= 9
10
请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。
示例 1:
1 | 输入:00000000000000000000000000001011 |
示例 2:
1 | 输入:00000000000000000000000010000000 |
示例 3:
1 | 输入:11111111111111111111111111111101 |
提示:
输入必须是长度为 32
的 二进制串 。