0117leetcode刷题5道python

这篇博客主要介绍了使用Python解决LeetCode上的四道题目:169题是找数组的多数元素,191题要求计算二进制表示中1的个数,1603题涉及设计停车场系统,1678题是关于字符串解析的,最后还讲解了面试中遇到的幂集问题。文章提供了详细的解答思路和示例。
摘要由CSDN通过智能技术生成

169

题目描述:
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。

示例:
在这里插入图片描述

解答:

class Solution:
    def majorityElement(self, nums: List[int]) -> int:
        '''
        因为一定有众数,且该数大于n/2
        则排序后最中间的一定是众数
        '''
        nums.sort()
        return nums[len(nums)//2]

191

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

示例:
在这里插入图片描述
解答:

class Solution:
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值