特辣的海藻!3

基础知识点
判断一个数是否是2的幂次

方法一:位运算

所有2的幂次数的二进制表示中有且仅有一个1,进行位运算 n&(n-1) 后结果为0

  • 检查正数:n > 0(负数和0不是2的幂次)
  • 位运算: n & ( n -1)   会消去二进制中最低为的1
    • 如果是2的幂次,消去后结果为0
    • eg:8(1000)& 7(0111) = 0          

方法二:数学除法

不断将数除以2,若最终结果为1则是2的幂次

  • 处理边界:若 n <= 0,直接返回false,不是
  • 循环除以2:直到无法被2整除
  • 结果判断:若最终余数为1,则是2的幂次

方法三:对数运算

利用数学公式 log2(n) 是否为整数,是整数就是的2的幂次

if (n <= 0 ) return false;
double log = Math.log(n) / Math.log(2);
return Math.abs(log - Math.round(log)) < 1e-10;    // 处理浮点精度误差

方法四:二进制中1的个数

统计二进制中1的个数是否为1。如果大于0并且二进制中只有一位1,是整数就是2的幂次

return n > 0 && Integer.bitCount(n) == 1;
位运算

1.按位与(AND)&

&:两个数的对应二进制位均为1时,结果位才为1

  • 判断奇偶性:x&1 == 0
                          偶数结果为0

2.按位或(OR)|

|:两个数的对应二进制位有一个为1,结果位即为1

3.按位异或(XOR)^

两个数的对应二进制位不同时结果为1,相同时为0。(异1同0)

4.按位非(NOT)~

对一个数的每一位取反(0变1,1变0)

5.左移(Left Shift)<< 乘法

将二进制位整体左移,右侧补0

6.右移 >> 除法

将二进制位整体右移,左侧补符号位(正数补0,负数补1)

bitCount()

属于Integer类和Long类的,计算整数二进制中表示1的个数

1.回文数组 - 蓝桥云课

package com.lanqiao;
import java.util.*;
public class Main {public static void main(String[] args){final int N = 100100;long[] nums = new long[N];long[] difs = new long[N];Scanner scan = new Scanner(System.in);int n = scan.nextInt();for(int i = 0; i < n; i++)nums[i] = scan.nextInt();int left = 0, right = n-1, j = 0;while(left < right)difs[j++] = nums[right--] - nums[left++];long count = 0;for(int i = 0; i < n/2; i++) {// 相邻为正if(difs[i] > 0 && difs[i+1] > 0) {// 后面数大于前面数if(difs[i] < difs[i+1]) {count += Math.min(difs[i], difs[i+1]);difs[i+1] -= difs[i];}else {count += Math.max(difs[i], difs[i+1]);i++;}}// 相邻为负else if(difs[i] < 0 && difs[i+1] < 0) {// 后面数大于前面数 此时后面数与0更短if(difs[i] < difs[i+1]) {count += Math.abs(Math.min(difs[i], difs[i+1]));i++;}else { // -20 -144count += Math.abs(Math.max(difs[i], difs[i+1]));difs[i+1] -= difs[i];}}// 相邻异号elsecount += Math.abs(difs[i]);}System.out.println(count);scan.close();}
}
2.Excel地址 - 蓝桥云课

  我的老母,真十一步一步。。。走的很艰难。。。

import java.util.*;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int num = scan.nextInt();Map<Integer, Character> map = new HashMap<>();map.put(0, 'Z');for(int i = 1; i <= 25; i++){map.put(i, (char)(64+i));}String res = "";while(num > 0) {res += map.get(num%26);if(num%26 == 0)num = (num-1) / 26;        elsenum /= 26;}System.out.println(new StringBuilder(res).reverse().toString());scan.close();}
}

这个的关键点就是,Excel进制是A~Z,对应1~26。

当余数为0的时候,对应Z,而不是A;余数1~25对应字母A~Y。

所以当余数为0时,需要将商调整为 (num-1)/26,避免多算一轮进位

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苍穹外卖中的模块总结

本文总结苍穹外卖项目中可复用的通用设计 sky-common constant存放常量类&#xff0c;包括消息常量&#xff0c;状态常量 context是上下文对象&#xff0c;封装了threadlocal package com.sky.context;public class BaseContext {public static ThreadLocal<Long> thre…

Threejs教程一【三要素】

场景 场景是一个容器&#xff0c;用于容纳所有的物体、光源、相机等元素。 // 创建场景 const scene new THREE.Scene(); //修改背景颜色&#xff0c;颜色支持十六进制、rgb、hsl、贴图等 scene.background new THREE.Color(0x000000);相机 相机决定了渲染的结果&#xff…

Deepseek和Grok 3对比:写一段冒泡排序

1、这是访问Grok 3得到的结果 2、grok3输出的完整代码&#xff1a; def bubble_sort(arr):n len(arr) # 获取数组长度# 外层循环控制排序轮数for i in range(n):# 内层循环比较相邻元素&#xff0c;j的范围逐渐减少for j in range(0, n - i - 1):# 如果当前元素大于下一个元…

TCP/UDP调试工具推荐:Socket通信图解教程

TCP/UDP调试工具推荐&#xff1a;Socket通信图解教程 一、引言二、串口调试流程三、下载链接 SocketTool 调试助手是一款旨在协助程序员和网络管理员进行TCP和UDP协议调试的网络通信工具。TCP作为一种面向连接、可靠的协议&#xff0c;具有诸如连接管理、数据分片与重组、流量和…

Open WebUI 是什么

Open WebUI 是什么 Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台,旨在完全离线运行。它支持各种 LLM 运行器,如 Ollama 和 OpenAI 兼容的 API,并内置了 RAG 推理引擎,使其成为强大的 AI 部署解决方案。 https://github.com/open-webui/open-webui 🚀 …

登录-05.JWT令牌-介绍

一.JWT令牌 JWT令牌是一种简洁的、自包含的格式&#xff0c;用于在通讯双方之间以json数据格式安全的传输数据。说白了&#xff0c;JWT令牌就是将json格式的数据进行封装&#xff0c;从而实现安全传输。 所谓简洁&#xff0c;就是指JWT令牌就是一个简单的字符串。 所谓自包含…

短剧小程序系统源码

短剧小程序系统源码 今天我要向大家介绍的是最新作品——短剧小程序系统源码。这不仅仅是一款简单的播放工具&#xff0c;它背后蕴含的强大功能能够帮助你的短剧业务实现质的飞跃&#xff01; 为什么说这款源码很厉害&#xff1f; 首先&#xff0c;在当今竞争激烈的市场环境…

【够用就好006】-PC桌面管理ECS服务器的实操步骤

背景介绍解决思路拓展知识 背景介绍 #够用就好#知其然知其所以然#aigc创意人左边 我计划搭建个人网站&#xff0c;计划格式化我的ECS服务器&#xff0c;但是里面有我之前的实践项目&#xff0c;我舍不得删除&#xff0c;我想要保存到本地。 通常我都是在vscode中用remotes ssh…

Ubuntu非conda环境python3.8下安装labelme

很久没用过labelme了&#xff0c;造实验数据需要在一个没有conda的Ubuntu20.04安装了python3.8.10的环境下安装labelme&#xff0c;先是直接执行 pip install labelme 执行了多次每次都是卡死&#xff0c;后来先执行pip install pyqt发现也是卡死在同样的地方&#xff0c;发现…

hi3516cv610修改i2c0引脚位置

hi3516cv610修改i2c引脚位置 我们i2c0位置改为 也就没用海思默认的Pin44 Pin43 Pin26、Pin65分别对应寄存器地址为 0x11130034_Pin26 0x17940004_Pin65 这里我们只需改 pin_mux.c文件 文件路径 ./smp/a7_linux/source/interdrv/sysconfig 改为这样ok pin_mux.c#include &quo…

基于Spring Boot的党员学习交流平台设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

LeetCode 114.二叉树展开为链表

题目&#xff1a; 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同…

自然语言处理NLP 04案例——苏宁易购优质评论与差评分析

上一篇文章&#xff0c;我们爬取了苏宁易购平台某产品的优质评价和差评&#xff0c;今天我们对优质评价与差评进行分析 selenium爬取苏宁易购平台某产品的评论-CSDN博客 目录 1. 数据加载 2. 中文分词 3. 停用词处理 4. 数据标注与合并 5. 数据集划分 6. 文本特征提取 …

20250223下载并制作RTX2080Ti显卡的显存的测试工具mats

20250223下载并制作RTX2080Ti显卡的显存的测试工具mats 2025/2/23 23:23 缘起&#xff1a;我使用X99的主板&#xff0c;使用二手的RTX2080Ti显卡【显存22GB版本&#xff0c;准备学习AI的】 但是半年后发现看大码率的视频容易花屏&#xff0c;最初以为是WIN10经常更换显卡/来回更…

【JavaEE进阶】Spring Boot配置文件

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗 如有错误&#xff0c;欢迎指出~ 目录 SpringBoot配置⽂件 举例: 通过配置文件修改端口号 配置⽂件的格式 properties基本语法 读取配置⽂件 properties配置文件的缺点 yml配置⽂件 yml基本语法 yml和proper…

Docker内存芭蕾:优雅调整容器内存的极限艺术

title: “&#x1f4be; Docker内存芭蕾&#xff1a;优雅调整容器内存的极限艺术” author: “Cjs” date: “2025-2-23” emoji: “&#x1fa70;&#x1f4a5;&#x1f4ca;” 当你的容器变成内存吸血鬼时… &#x1f680; 完美内存编排示范 &#x1f4dc; 智能内存管家脚本…

【Godot4.3】题目与答案解析合并器

免责申明 本文和工具截图中涉及题库和题目&#xff0c;均为本人自学使用&#xff0c;并未有商业和传播企图。如有侵害&#xff0c;联系删改。 概述 笔者本人医学专业从业人员&#xff0c;编程只是业余爱好。在自己的专业应考学习过程当中&#xff1a; 有时候不太喜欢纸质题库…

学习笔记-250222

论文&#xff1a; Learning Hierarchical Prompt with Structured Linguistic Knowledge for Vision-Language Models 主要研究llm在图像分类中的能力&#xff0c;当提示输入目标类别时&#xff0c;llm能够生成相关的描述以及相应的结构化关系。 1.首先利用llm从普通的描述中获…

欧拉回路与哈密尔顿回路: Fleury算法与Hierholzer 算法(C++)

图论中的回路是指一个路径, 它从某个顶点开始, 经过所有边恰好一次, 并回到起始顶点. 定义 欧拉回路: 从一个顶点出发, 经过每条边恰好一次, 并且最终回到起始顶点. 哈密尔顿回路: 从一个顶点出发, 经过每个顶点恰好一次, 并且最终回到起始顶点. 欧拉路径: 从一个顶点出发, …

从图片生成3维场景--NERF原理解析及加速版HashNeRF-pytorch代码实现

概要 NeRF&#xff08;Neural Radiance Fields&#xff09;是一种基于神经网络的三维图像生成技术&#xff0c;通过一组从不同角度拍摄的2D图片&#xff0c;生成一个3D场景&#xff0c;并且能够渲染出该场景在任意视角下的图像。这项技术的核心思想是利用神经网络的强大建模能…