Jerring


  • 首页

  • 标签

  • 分类

  • 归档

LeetCode733-图像渲染

发表于 2019-06-10 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/flood-fill/

中文链接:https://leetcode-cn.com/problems/flood-fill/

题目详述

有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。

给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。

为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与初始坐标相同的相连像素点,……,重复该过程。将所有有记录的像素点的颜色值改为新的颜色值。

最后返回经过上色渲染后的图像。

示例 1:

1
2
3
4
5
6
7
8
9
输入: 
image = [[1,1,1],[1,1,0],[1,0,1]]
sr = 1, sc = 1, newColor = 2
输出: [[2,2,2],[2,2,0],[2,0,1]]
解析:
在图像的正中间,(坐标(sr,sc)=(1,1)),
在路径上所有符合条件的像素点的颜色都被更改成2。
注意,右下角的像素没有更改为2,
因为它不是在上下左右四个方向上与初始点相连的像素点。

注意:

  • image 和 image[0] 的长度在范围 [1, 50] 内。
  • 给出的初始点将满足 0 <= sr < image.length 和 0 <= sc < image[0].length。
  • image[i][j] 和 newColor 表示的颜色值在范围 [0, 65535]内。
阅读全文 »

LeetCode338-比特位计数

发表于 2019-06-09 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/counting-bits/

中文链接:https://leetcode-cn.com/problems/counting-bits/

题目详述

给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。

示例 1:

1
2
输入: 2
输出: [0,1,1]

示例 2:

1
2
输入: 5
输出: [0,1,1,2,1,2]

进阶:

  • 给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?
  • 要求算法的空间复杂度为O(n)。
  • 你能进一步完善解法吗?要求在C++或任何其他语言中不使用任何内置函数(如 C++ 中的 __builtin_popcount)来执行此操作。
阅读全文 »

LeetCode898-子数组按位或操作

发表于 2019-06-09 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/bitwise-ors-of-subarrays/

中文链接:https://leetcode-cn.com/problems/bitwise-ors-of-subarrays/

题目详述

我们有一个非负整数数组 A。

对于每个(连续的)子数组 B = [A[i], A[i+1], …, A[j]] ( i <= j),我们对 B 中的每个元素进行按位或操作,获得结果 A[i] | A[i+1] | … | A[j]。

返回可能结果的数量。 (多次出现的结果在最终答案中仅计算一次。)

示例 1:

1
2
3
4
输入:[0]
输出:1
解释:
只有一个可能的结果 0 。

示例 2:

1
2
3
4
5
6
输入:[1,1,2]
输出:3
解释:
可能的子数组为 [1],[1],[2],[1, 1],[1, 2],[1, 1, 2]。
产生的结果为 1,1,2,1,3,3 。
有三个唯一值,所以答案是 3 。

示例 3:

1
2
3
4
输入:[1,2,4]
输出:6
解释:
可能的结果是 1,2,3,4,6,以及 7 。

提示:

  1. 1 <= A.length <= 50000
  2. 0 <= A[i] <= 10^9
阅读全文 »

LeetCode138-复制带随机指针的链表

发表于 2019-06-08 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/copy-list-with-random-pointer/

中文链接:https://leetcode-cn.com/problems/copy-list-with-random-pointer/

题目详述

给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。

要求返回这个链表的深拷贝。

示例:

1
2
3
4
5
6
输入:
{"$id":"1","next":{"$id":"2","next":null,"random":{"$ref":"2"},"val":2},"random":{"$ref":"2"},"val":1}

解释:
节点 1 的值是 1,它的下一个指针和随机指针都指向节点 2 。
节点 2 的值是 2,它的下一个指针指向 null,随机指针指向它自己。

提示:

你必须返回给定头的拷贝作为对克隆列表的引用。

阅读全文 »

LeetCode476-数字的补数

发表于 2019-06-07 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/number-complement/

中文链接:https://leetcode-cn.com/problems/number-complement/

题目详述

给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。

注意:

  1. 给定的整数保证在32位带符号整数的范围内。
  2. 你可以假定二进制数不包含前导零位。

示例 1:

1
2
3
输入: 5
输出: 2
解释: 5的二进制表示为101(没有前导零位),其补数为010。所以你需要输出2。

示例 2:

1
2
3
输入: 1
输出: 0
解释: 1的二进制表示为1(没有前导零位),其补数为0。所以你需要输出0。
阅读全文 »

LeetCode762-二进制表示中质数个计算置位

发表于 2019-06-07 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/prime-number-of-set-bits-in-binary-representation/

中文链接:https://leetcode-cn.com/problems/prime-number-of-set-bits-in-binary-representation/

题目详述

给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。

(注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。)

示例 1:

1
2
3
4
5
6
7
输入: L = 6, R = 10
输出: 4
解释:
6 -> 110 (2 个计算置位,2 是质数)
7 -> 111 (3 个计算置位,3 是质数)
9 -> 1001 (2 个计算置位,2 是质数)
10-> 1010 (2 个计算置位,2 是质数)

示例 2:

1
2
3
4
5
6
7
8
9
输入: L = 10, R = 15
输出: 5
解释:
10 -> 1010 (2 个计算置位, 2 是质数)
11 -> 1011 (3 个计算置位, 3 是质数)
12 -> 1100 (2 个计算置位, 2 是质数)
13 -> 1101 (3 个计算置位, 3 是质数)
14 -> 1110 (3 个计算置位, 3 是质数)
15 -> 1111 (4 个计算置位, 4 不是质数)

注意:

  1. L, R 是 L <= R 且在 [1, 10^6] 中的整数。
  2. R - L 的最大值为 10000。
阅读全文 »

LeetCode150-逆波兰表达式求值

发表于 2019-06-07 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/evaluate-reverse-polish-notation/

中文链接:https://leetcode-cn.com/problems/evaluate-reverse-polish-notation/

题目详述

根据逆波兰表示法,求表达式的值。

有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。

说明:

  • 整数除法只保留整数部分。

  • 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。

示例 1:

1
2
3
输入: ["2", "1", "+", "3", "*"]
输出: 9
解释: ((2 + 1) * 3) = 9

示例 2:

1
2
3
输入: ["4", "13", "5", "/", "+"]
输出: 6
解释: (4 + (13 / 5)) = 6

示例 3:

1
2
3
4
5
6
7
8
9
10
输入: ["10", "6", "9", "3", "+", "-11", "*", "/", "*", "17", "+", "5", "+"]
输出: 22
解释:
((10 * (6 / ((9 + 3) * -11))) + 17) + 5
= ((10 * (6 / (12 * -11))) + 17) + 5
= ((10 * (6 / -132)) + 17) + 5
= ((10 * 0) + 17) + 5
= (0 + 17) + 5
= 17 + 5
= 22
阅读全文 »

LeetCode264-丑数II

发表于 2019-06-06 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/ugly-number-ii/

中文链接:https://leetcode-cn.com/problems/ugly-number-ii/

题目详述

编写一个程序,找出第 n 个丑数。

丑数就是只包含质因数 2, 3, 5 的正整数。

示例:

1
2
3
输入: n = 10
输出: 12
解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。

说明:

  1. 1 是丑数。
  2. n 不超过1690。
阅读全文 »

LeetCode263-丑数

发表于 2019-06-06 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/ugly-number/

中文链接:https://leetcode-cn.com/problems/ugly-number/

题目详述

编写一个程序判断给定的数是否为丑数。

丑数就是只包含质因数 2, 3, 5 的正整数。

示例 1:

1
2
3
输入: 6
输出: true
解释: 6 = 2 × 3

示例 2:

1
2
3
输入: 8
输出: true
解释: 8 = 2 × 2 × 2

示例 3:

1
2
3
输入: 14
输出: false
解释: 14 不是丑数,因为它包含了另外一个质因数 7。

说明:

  1. 1 是丑数。
  2. 输入不会超过 32 位有符号整数的范围: [−2^31, 2^31 − 1]。
阅读全文 »

LeetCode229-求众数II

发表于 2019-06-06 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/majority-element-ii/

中文链接:https://leetcode-cn.com/problems/majority-element-ii/

题目详述

给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。

说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。

示例 1:

1
2
输入: [3,2,3]
输出: [3]

示例 2:

1
2
输入: [1,1,1,3,3,2,2,2]
输出: [1,2]
阅读全文 »
1…192021…47
Jerring

Jerring

Talk is cheap, show me the code.

462 日志
4 分类
24 标签
© 2019 Jerring
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4