directory
0.0.0-20240920062246-d0657495930a
Repository: https://github.com/yigmmk/leetcode.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
No description provided by the author
* @lc app=leetcode.cn id=190 lang=golang
*
* [190] 颠倒二进制位
*
* https://leetcode.cn/problems/reverse-bits/description/
*
* algorithms
* Easy (71.68%)
* Likes: 596
* Dislikes: 0
* Total Accepted: 200.3K
* Total Submissions: 279.5K
* Testcase Example: '00000010100101000001111010011100'
*
* 颠倒给定的 32 位无符号整数的二进制位。
*
* 提示:
*
*
* 请注意,在某些语言(如
* Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
* 在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数
* -1073741825。
*
*
*
*
* 示例 1:
*
*
* 输入:n = 00000010100101000001111010011100
* 输出:964176192 (00111001011110000010100101000000)
* 解释:输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596,
* 因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000。
*
* 示例 2:
*
*
* 输入:n = 11111111111111111111111111111101
* 输出:3221225471 (10111111111111111111111111111111)
* 解释:输入的二进制串 11111111111111111111111111111101 表示无符号整数 4294967293,
* 因此返回 3221225471 其二进制表示形式为 10111111111111111111111111111111 。
*
*
*
* 提示:
*
*
* 输入是一个长度为 32 的二进制字符串
*
*
*
*
* 进阶: 如果多次调用这个函数,你将如何优化你的算法?
*
*/.
* @lc app=leetcode.cn id=191 lang=golang
*
* [191] 位1的个数
*
* https://leetcode.cn/problems/number-of-1-bits/description/
*
* algorithms
* Easy (76.37%)
* Likes: 550
* Dislikes: 0
* Total Accepted: 310.6K
* Total Submissions: 406.7K
* Testcase Example: '00000000000000000000000000001011'
*
* 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。
*
*
*
* 提示:
*
*
* 请注意,在某些语言(如
* Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
* 在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。
*
*
*
*
* 示例 1:
*
*
* 输入:00000000000000000000000000001011
* 输出:3
* 解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。
*
*
* 示例 2:
*
*
* 输入:00000000000000000000000010000000
* 输出:1
* 解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为 '1'。
*
*
* 示例 3:
*
*
* 输入:11111111111111111111111111111101
* 输出:31
* 解释:输入的二进制串 11111111111111111111111111111101 中,共有 31 位为 '1'。
*
*
*
* 提示:
*
*
* 输入必须是长度为 32 的 二进制串 。
*
*
*
*
*
*
*
* 进阶:
*
*
* 如果多次调用这个函数,你将如何优化你的算法?
*
*
*/.
* @lc app=leetcode.cn id=231 lang=golang
*
* [231] 2 的幂
*
* https://leetcode.cn/problems/power-of-two/description/
*
* algorithms
* Easy (50.30%)
* Likes: 577
* Dislikes: 0
* Total Accepted: 274K
* Total Submissions: 544.8K
* Testcase Example: '1'
*
* 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。
*
* 如果存在一个整数 x 使得 n == 2^x ,则认为 n 是 2 的幂次方。
*
*
*
* 示例 1:
*
*
* 输入:n = 1
* 输出:true
* 解释:2^0 = 1
*
*
* 示例 2:
*
*
* 输入:n = 16
* 输出:true
* 解释:2^4 = 16
*
*
* 示例 3:
*
*
* 输入:n = 3
* 输出:false
*
*
* 示例 4:
*
*
* 输入:n = 4
* 输出:true
*
*
* 示例 5:
*
*
* 输入:n = 5
* 输出:false
*
*
*
*
* 提示:
*
*
* -2^31
*
*
*
*
* 进阶:你能够不使用循环/递归解决此问题吗?
*
*/.
* @lc app=leetcode.cn id=338 lang=golang
*
* [338] 比特位计数
*
* https://leetcode.cn/problems/counting-bits/description/
*
* algorithms
* Easy (78.65%)
* Likes: 1280
* Dislikes: 0
* Total Accepted: 316.7K
* Total Submissions: 402.6K
* Testcase Example: '2'
*
* 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans
* 作为答案。
*
*
*
*
*
* 示例 1:
*
*
* 输入:n = 2
* 输出:[0,1,1]
* 解释:
* 0 --> 0
* 1 --> 1
* 2 --> 10
*
*
* 示例 2:
*
*
* 输入:n = 5
* 输出:[0,1,1,2,1,2]
* 解释:
* 0 --> 0
* 1 --> 1
* 2 --> 10
* 3 --> 11
* 4 --> 100
* 5 --> 101
*
*
*
*
* 提示:
*
*
* 0 <= n <= 10^5
*
*
*
*
* 进阶:
*
*
* 很容易就能实现时间复杂度为 O(n log n) 的解决方案,你可以在线性时间复杂度 O(n) 内用一趟扫描解决此问题吗?
* 你能不使用任何内置函数解决此问题吗?(如,C++ 中的 __builtin_popcount )
*
*
*
*
*/.