LeetCode题解(0762):二进制表示中质数个计算置位(Python)

题目:原题链接(简单)

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O(N)O(N) O(1)O(1) 200ms (99.05%)
Ans 2 (Python)
Ans 3 (Python)

LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。

解法一:

【思路】

因为L≤R≤106≤220,所以我们只需要枚举20以内的质数即可。

def countPrimeSetBits(self, L: int, R: int) -> int:
    primes = {2, 3, 5, 7, 11, 13, 17, 19}
    ans = 0
    for i in range(L, R + 1):
        if bin(i).count("1") in primes:
            ans += 1
    return ans

热门文章

暂无图片
编程学习 ·

蒙哥马利模乘

Montgomery乘法的数学表达式是A * B * R ^ (-1)mod M。A、B是同位长大数,R是2的M(位长)的次方,R ^ (-1)是指R相对于M的模逆,即R ^ (-1)满足以下条件的数:R * R ^ (-1) mod M = 1;这个条件成立的充要条件是R与M互素,这一点只需要M为奇数即可。 使用蒙哥马利乘法可以做…
暂无图片
编程学习 ·

PAT 1161 Merging Linked Lists

原题链接:暂无 关键词:链表 Given two singly linked lists L 1 =a 1 →a 2 →…→a n−1 →a n L1=a1→a2→…→an−1→an and L 2 =b 1 →b 2 →…→b m−1 →b m L2=b1→b2→…→bm−1→bm . If n≥2m n≥2m , you are supposed to reverse and merge the shorter one i…
暂无图片
编程学习 ·

ubuntu软件安装

ubuntu软件安装apt和apt-getdpkg源码安装 apt和apt-get 在ubuntu安装软件时常用命令apt-get install xxx命令来安装。从字面上理解install即是安装的意思,get即获取的意思,apt此处理解为工具名称,全称 Advanced Packaging Tool(APT)字义是先进的包装工具,但在linux系统中…
暂无图片
编程学习 ·

MySQL不完全干货教程(持续更新中)

已经有很多教程面面俱到、事无巨细,但实际上能用到的、消化的内容很少。本文聚焦于常见的使用场景,给出MySQL用法和基本原理说明。为便于实践和消化,同时提供了很多案例和脚本。 为了读者进一步深入学习、掌握自我升级的方法,提供了一些权威文档的参考。希望能帮助MySQL初中…
暂无图片
编程学习 ·

Python之OpenCV的学习(一)

一.安装 打开Pycharm:File -> Settings -> Project:xxxx下的Project Interpreter,如图所示然后,点击右边的加号进行搜索点击左下角Install Package即可 如果搜索不出来,可以看一下是不是pip源的问题 点击Manage Repositories我使用的是豆瓣pip源:http://pypi.douba…
暂无图片
编程学习 ·

Leetcode 题解 - 字符串

字符串循环移位包含 编程之美 3.1 s1 = AABCD, s2 = CDAA Return : true给定两个字符串 s1 和 s2,要求判定 s2 是否能够被 s1 做循环移位得到的字符串包含。 s1 进行循环移位的结果是 s1s1 的子字符串,因此只要判断 s2 是否是 s1s1 的子字符串即可。 字符串循环移位 编程之美…
暂无图片
编程学习 ·

QT的::和:记录

******1.:一般指继承. Class 派生类 : 基类 (1)表示结构体内 位域的定义(即该变量占几个bit空间) (2)构造函du数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。 (3)public:和private:后面的冒号,表示后面定义的所有成员都是…
暂无图片
编程学习 ·

什么是语音直播源码,语音下直播系统可以做什么?

语音直播源码是指用户能够通过语音进行聊天的软件功能。语音直播源码的形式多样化的,现在市场上也出现了很多很多语音形式的源码出现,比如,可以多人语音聊天,语音视频通话,语音直播,语音教学还有很多的语音游戏,像最近很多的和平精英,王者荣耀,狼人杀之类的,都是在游…
暂无图片
编程学习 ·

EasyNTS上云网关内配置EasyNVR云终端成功后显示设备离线问题解决

之前为大家简单介绍过EasyNTS上云网关,一部分是为了进行网络穿透而产生的设备,目前有部分用户已经在进行了内测,我们也会收集一些内测用户的问题,集中排查解决,以达到更好的使用效果。有的用户在EasyNTS上云网关内进行流媒体终端EasyNVR硬件配置测试时,设备已经配置完成,…
暂无图片
编程学习 ·

qtdesigner-请假(仅仅是尝试使用软件)

下面是我给他们起的名字。现在修改完名字之后,导出成MainWindow.ui文件打开anaconda的shell现在就产生了MainWindow.py,打开它 打开pycharm,创建一个新的名为askForLeave的project,把MainWindow.py移进来。 创建Leave.py作为主程序(起名废) 现在给MainWindow.py配置环境写…
暂无图片
编程学习 ·

第4章 一般概念

一、名称空间std 1.namespace具有可扩展开放性,可发生于任何源码文件上。 2.欲使用C++标准库的任何东西,有三种选择: (1)直接指定标识符。如std::cout (2)使用using declaration。如:using std::cout (3)使用using directive。如using namespace std; 注意:在复杂的…
暂无图片
编程学习 ·

jQuery 的实现原理

(function(window, undefined) {})(window); jQuery 利用 JS 函数作用域的特性,采用立即调用表达式包裹了自身,解决命名空间和变量污染问题 window.jQuery = window.$ = jQuery; 在闭包当中将 jQuery 和 $ 绑定到 window 上,从而将 jQuery 和 $ 暴露为全局变量
暂无图片
编程学习 ·

一些CTF 做题的tricks

一些CTF 做题的tricks,东拼西凑放到这里,方便查找 任意文件读取路径汇总任意文件读取漏洞和文件包含漏洞的表现相似,但是任意文件读取不能getshell,可以通过尝试读取相对路径的脚本文件,比如/read.php?file=index.php,如果可以读取到文件源码,说明是文件读取,如果不能…
暂无图片
编程学习 ·

关于this对象

this对象是是在运行时基于函数的执行环境绑定的 var object = {name: "My Object",getName: function(){return this.name; } } let b = object.getName; console.log(object.getName()); // "My Object" console.log(b()); // undefined 在全局函数中,…
暂无图片
编程学习 ·

二进制与十进制转换工具类

package util;/*** 二进制工具类* * @author 谢辉* @time 2020.07.01**/ public class BinaryUtil {/*** 十进制数字转二进制* * @param num 十进制数字* @param strResult 结果容器,追加结果用,* @return 返回结果字符串*/public static String DecimalToBinary(Integ…
暂无图片
编程学习 ·

一个简单的聊天系统

声明:谢绝一切形式的转载 socket套接字 socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现, socket即是一种特殊的文件,一些socket函数就是对其进…
暂无图片
编程学习 ·

Ubuntu系统分区(待补充)

Ubuntu系统下一个分区工具是gparted。假设一共有60G空间,建议按照以下方式来分区: 分区之前,建议备份一下现有数据防止丢失: sudo su cd / tar -cvpzf /media/sda7/backup.tgz —exclude=/lost+found —exclude=/sys —exclude=/media /