力扣231. 2 的幂(位运算)

news2024/10/6 12:30:03

Problem: 231. 2 的幂

文章目录

  • 题目描述
  • 思路及解法
  • 复杂度
  • Code

题目描述

在这里插入图片描述

思路及解法

1.若为0和负数则直接返回false;
2.利用一个标志数mask令其为一,不断的算术左移同时和n做与(&)运算,统计n中二进制位为1的个数,若二进制位的个数为1则说明是二的幂否则不可;

复杂度

时间复杂度:

O ( 1 ) O(1) O(1)

空间复杂度:

O ( 1 ) O(1) O(1)

Code

class Solution {
    /**
     * Power of Two
     *
     * @param n Given number
     * @return boolean
     */
    public boolean isPowerOfTwo(int n) {
        if (n < 0) {
            return false;
        }
        int oneCount = 0;
        int mask = 1;
        for (int i = 0; i < 32; ++i) {
            if ((n & mask) != 0) {
                oneCount++;
            }
            mask <<= 1;
        }
        return oneCount == 1 ? true : false;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1842118.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员·职场效能必修宝典㊾:拖延症与懒癌晚期患者如何自救

> 【易编橙终身成长社群,相遇已是上上签!】- 点击跳转~ < 作者:哈哥撩编程 (视频号同名) 图书作者:程序员职场效能宝典 博客专家:全国博客之星第四名 超级个体:COC上海社区主理人 特约讲师:谷歌亚马逊分享嘉宾 科技博主:极星会首批签约作者 文

大数据数据挖掘系统可视化设计艺术

1.系统背景 在我们实际进行数据挖掘研发过程中&#xff0c;为了验证某些算法在业务中的性能每次都需要去从头写代码&#xff0c;如果我们将我们研发的算法以模块化的思想封装起来&#xff0c;下次再使用的时候直接在系统中进行拖拉一下生成一个工作流&#xff0c;就能完成数据挖…

华为数通——ACL

ACL基本介绍 ACL:访问控制列表&#xff0c;通过端口对数据流进行过滤&#xff0c;ACL判别依据是五元组&#xff1a;源IP地址&#xff0c;源端口&#xff0c;目的IP地址&#xff0c;目的端口、协议。&#xff08;ACL工作于OSI模型第三层&#xff0c;是路由器和三层交换机接口的…

【轨迹规划论文整理(1)】UAV轨迹规划的开山之作Minimum Snap Trajectory

【轨迹规划论文整理(1)】UAV轨迹规划的开山之作Minimum Snap Trajectory Generation and Control for Quadrotors 本系列主要是对精读的一些关于无人机、无人车的轨迹搜索论文的整理&#xff0c;包括了论文所拓展的其他一些算法的改进思路。 这是本系列的第一篇文章&#xff0…

在windows和linux服务器之间互传文件

最近需要在windows上和linux服务器上实现相互传送文件&#xff0c;作为一个linux小白&#xff0c;研究了一个上午&#xff0c;终于成功了&#xff0c;记录一下。 使用的是SFTP方式。 Linux服务器系统是 Ubuntu 18.04 64位&#xff0c;windows 是 win10专业版。 首先在Linux服…

在WordPress中使用AI的实用方法:入门级

随着人工智能&#xff08;AI&#xff09;的快速发展&#xff0c;WordPress平台上引入了越来越多的工具和插件&#xff0c;为网站管理员提供了强大的功能。这些工具不仅可以提升网站的用户体验&#xff0c;还能简化网站管理过程。本文将介绍几种在WordPress中使用AI的实用方法&a…

vue中用JSON格式查看数据(vue-json-viewer)

vue中把string用JSON格式展示数据 vue-json-viewer使用 官网地址&#xff1a;https://www.npmjs.com/package/vue-json-viewer 1. 安装插件vue-json-viewer //vue2 npm install vue-json-viewer2 --save //vue3 npm install vue-json-viewer3 --save2. 引入vue-json-viewer…

解决HassOS无法获取ip地址问题

目录 问题描述解法 问题描述 在ESXi中安装完HassOS后&#xff0c;开机遇到一个无法获取ip地址的问题&#xff0c;如下图所示&#xff1a; 输入network info命令&#xff0c;显示ipv4已被禁用&#xff0c;如下图所示&#xff1a; 解法 在控制台ha >后输入下面命令 netw…

低投入+高效率的求职招聘小程序源码系统平台版 带完整的安装代码包以及搭建教程部署教程

系统概述 在当今数字化时代&#xff0c;求职招聘领域的竞争日益激烈。传统的求职招聘方式逐渐显露出效率低下、成本高昂等问题。为了满足市场需求&#xff0c;提高求职招聘的效率和便捷性&#xff0c;同时降低企业和求职者的成本&#xff0c;“低投入高效率的求职招聘小程序源…

startActivity启动流程

从桌面点击应用图标开始到Activity创建并执行onCreate&#xff0c;activity的启动涉及到两个进程system_server(AMS所在进程)和Zygote(如果进程没有创建需要先创建) 下图是从点击图标开始执行startActivity&#xff0c;一直到ActivityTaskSupervisor&#xff0c;到ActivityTas…

利用LinkedHashMap实现一个LRU缓存

一、什么是 LRU LRU是 Least Recently Used 的缩写&#xff0c;即最近最少使用&#xff0c;是一种常用的页面置换算法&#xff0c;选择最近最久未使用的页面予以淘汰。 简单的说就是&#xff0c;对于一组数据&#xff0c;例如&#xff1a;int[] a {1,2,3,4,5,6}&#xff0c;…

Win11 设置本地管理员账户的几种方法总结

从设置界面创建 Win11 设置本地管理员账户我们可以在设置界面来进行设置&#xff0c;下面是具体的操作步骤&#xff1a; 首先我们需要打开设置界面&#xff0c;然后点击“账户”选项&#xff0c;进入之后点击“其他用户”。 然后在用户界面中我们找到“其他用户”模块下的添加…

【机器学习300问】127、怎么使用词嵌入?

在探讨如何使用词嵌入之前&#xff0c;我们首先需要理解词嵌入模型的基础。之前的文章已提及&#xff0c;词嵌入技术旨在将文本转换为固定长度的向量&#xff0c;从而使计算机能够解析和理解文本内容。可以跳转下面链接去补充阅读哦&#xff01; 【机器学习300问】126、词嵌入…

C#.Net筑基-集合知识全解

01、集合基础知识 .Net 中提供了一系列的管理对象集合的类型&#xff0c;数组、可变列表、字典等。从类型安全上集合分为两类&#xff0c;泛型集合 和 非泛型集合&#xff0c;传统的非泛型集合存储为Object&#xff0c;需要类型转。而泛型集合提供了更好的性能、编译时类型安全…

【Jenkins】构建失败重试插件Naginator

Jenkins的Naginator插件是一个用于在构建失败后自动重新调度构建的插件。以下是对Naginator插件的详细介绍&#xff1a; 1. 插件功能 自动重试构建&#xff1a;当Jenkins上的某个构建任务失败时&#xff0c;Naginator插件可以自动重新调度该构建任务&#xff0c;以尝试解决由于…

【扫雷游戏】C语言教程

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

sklearn之各类朴素贝叶斯原理

sklearn之贝叶斯原理 前言1 高斯朴素贝叶斯1.1 对连续变量的处理1.2 高斯朴素贝叶斯算法原理 2 多项式朴素贝叶斯2.1 二项分布和多项分布2.2 详细原理2.3 如何判断是否符合多项式贝叶斯 3 伯努利朴素贝叶斯4 类别贝叶斯4 补充朴素贝叶斯4.1 核心原理4.2 算法流程 前言 如果想看…

示例:应用DependencyPropertyDescriptor监视依赖属性值的改变

一、目的&#xff1a;开发过程中&#xff0c;经常碰到使用别人的控件时有些属性改变没有对应的事件抛出&#xff0c;从而无法做处理。比如TextBlock当修改了IsEnabled属性我们可以用IsEnabledChanged事件去做对应的逻辑处理&#xff0c;那么如果有类似Background属性改变我想找…

【Spine学习13】之 制作受击动画思路总结(叠加颜色特效发光效果)

绑定IK腿部骨骼容易出错的一种方式&#xff0c; 要记住 如果按照错误方式绑定骨骼&#xff0c;可能移动IK约束的时候会另腿部的弯曲方向相反了 &#xff1a; 上节分享了攻击动作的制作思路总结&#xff0c; 这节总结受击思路。 第一步&#xff1a; 创建一个新的动画&#xff1…

无需科学上网:轻松实现国内使用Coze.com平台自己创建的Bot(如何实现国内免费使用GPT-4o/Gemini等最新大模型)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 如何在国内使用 Coze.com 创建的 Bot 📒📝 创建Bot📝 实现国内使用📝 测试⚓️ 相关链接 ⚓️📖 介绍 📖 Coze.com 是一个强大的平台,允许用户创建各种类型的 Bot。然而,许多国内用户可能会遇到访问问题,导致无法…