Skip to content

Latest commit

 

History

History
189 lines (134 loc) · 3.93 KB

README.md

File metadata and controls

189 lines (134 loc) · 3.93 KB

:octocat:

LeetCode-daily-plan20200508

📆力扣每日计划第一天2020\05\08

⏳练习C++和Python,以仓库来督促👁️

🧀语言C++,题库:LeetCode力扣

编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。

示例 1:

输入:00000000000000000000000000001011
输出:3
解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。

示例 2:

输入:00000000000000000000000010000000
输出:1
解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为 '1'。

示例 3:

输入:11111111111111111111111111111101
输出:31
解释:输入的二进制串 11111111111111111111111111111101 中,共有 31 位为 '1'。

提示:

请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。

进阶:

如果多次调用这个函数,你将如何优化你的算法?

链接:https://leetcode-cn.com/problems/number-of-1-bits 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

SRC_Code:🚀

class Solution
{
public:
    int hammingWeight(uint32_t n)
    {
        n = (n & (0x55555555)) + ((n >> 1) & (0x55555555));
        n = (n & (0x33333333)) + ((n >> 2) & (0x33333333));
        n = (n & (0x0F0F0F0F)) + ((n >> 4) & (0x0F0F0F0F));
        n = (n & (0x00FF00FF)) + ((n >> 8) & (0x00FF00FF));
        n = (n & (0x0000FFFF)) + ((n >> 16) & (0x0000FFFF));
        return n;
    }
};

🍰语言Python,题库:NowCoder牛客网

1:编程初学者入门训练-竞选社长

题目描述

假设你们社团要竞选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终得票多的人为社长.

输入描述:

一行,字符序列,包含A或B,输入以字符0结束。

输出描述:

一行,一个字符,A或B或E,输出A表示A得票数多,输出B表示B得票数多,输出E表示二人得票数相等。

输入

ABBABBAAB0

输出

B

SRC_Code:🚀

# -*- coding: UTF-8 -*-
#!/usr/bin/python3

A = 0
B = 0
s = input()
for i in s:
    if i == 'A':
        A += 1
    elif i == 'B':
        B += 1
if A == B:
    print('E')
elif A > B:
    print('A')
else:
    print('B')

2:牛客小白月赛15回顾-诡异的因数

题目描述:

四舍五入下成功率,大概就是百分之百的样子。

    ——韩信-逐梦之影

小T喜欢玩数。这天他弄到了一个数n,他玩心大发,他让小s求它的正因数数量。

小s并不会这道题,现在如果你是他,你会怎么做?

小T为了防止小s作弊,他要询问T次。

输入描述:

第一行一个整数T。

后T行每行一个整数n。

输出描述:

T行一个整数代表答案。

输入

1
6

输出

4

说明

6的因数有1 2 3 6共4个

100% 1≤n,T≤104100\% \ 1 \le n,T \le 10^4100% 1≤n,T≤104

SRC_Code:🚀

# -*- coding: UTF-8 -*-
#!/usr/bin/python3

def check(aNum):
    count = 0
    for i in range(1, aNum + 1):
        if aNum % i == 0:
            count += 1
    return count

T = int(input())
nums = []
for i in range(0, T):
    tmp = int(input())
    nums.append(tmp)

for i in range(0, T):
    tmp = check(nums[i])
    print(tmp)