当前位置: 首页 > news >正文

网站备案拍照 广州公司网站建设请示

网站备案拍照 广州,公司网站建设请示,昆明房产信息网,公司网站找谁做Day 6#xff1a;位运算#xff08;异或性质、二进制操作#xff09; #x1f4d6; 一、位运算简介 位运算是计算机底层优化的重要手段#xff0c;利用二进制操作可以大大提高运算速度。常见的位运算包括#xff1a; 与#xff08;#xff09;#xff1a;a 位运算异或性质、二进制操作 一、位运算简介 位运算是计算机底层优化的重要手段利用二进制操作可以大大提高运算速度。常见的位运算包括 与a b如果两个二进制位都为 1结果为 1否则为 0。或|a | b如果两个二进制位中至少有一个为 1结果为 1否则为 0。异或^a ^ b如果两个二进制位不同结果为 1否则为 0。取反~~a按位取反0 变 11 变 0。左移a n将 a 的二进制表示向左移动 n 位相当于 a * 2^n。右移a n将 a 的二进制表示向右移动 n 位相当于 a / 2^n保留符号位。无符号右移不保留符号位即高位补 0。 二、只出现一次的数字Single Number 1. 题目描述 给定一个非空整数数组除了某个数字只出现一次以外其他数字均出现两次。请找出这个只出现一次的数字。 示例 输入: nums [4, 1, 2, 1, 2] 输出: 42. 思路与分析 利用异或运算 ^ 性质1a ^ a 0任意数与自身异或为 0。性质2a ^ 0 a任意数与 0 异或仍是自身。性质3异或满足交换律和结合律即 a ^ b ^ c a ^ c ^ b顺序无关。性质4a ^ b ^ b a某个数字 b 出现偶数次它们会相互抵消。 因此将所有数字进行异或操作所有成对出现的数字都会抵消为 0最终结果就是那个只出现一次的数字。 3. 代码实现只出现一次的数字 public class SingleNumber {public int findSingleNumber(int[] nums) {int result 0;for (int num : nums) {result ^ num; // 利用异或运算找出唯一的数}return result;}public static void main(String[] args) {SingleNumber solution new SingleNumber();int[] nums {4, 1, 2, 1, 2};System.out.println(只出现一次的数字: solution.findSingleNumber(nums)); // 输出 4} }4. 代码讲解 result ^ num将数组中的所有数字进行异或。成对的数字会被消除只剩下唯一出现一次的数字。 ✅ 时间复杂度O(n)只需遍历一次数组。 ✅ 空间复杂度O(1)只使用一个变量存储结果。 三、二进制中 1 的个数Hamming Weight 1. 题目描述 编写一个函数计算一个整数的二进制表示中 1 的个数。 示例 输入: n 9 (1001) 输出: 22. 思路与分析 方法 1️⃣位运算逐位检查 每次检查 n 的最低位是否为 1n 1。右移 n 一位n 1直到 n 变为 0。 方法 2️⃣n (n - 1) 高效算法 性质n (n - 1) 可以移除 n 最右边的 1这样 1 的个数就等于操作 n (n - 1) 多少次。 3. 代码实现方法 1逐位检查 public class HammingWeight {public int countOnes(int n) {int count 0;while (n ! 0) {count (n 1); // 检查最低位是否为1n 1; // 右移一位}return count;}public static void main(String[] args) {HammingWeight solution new HammingWeight();int n 9; // 二进制: 1001System.out.println(二进制中 1 的个数: solution.countOnes(n)); // 输出 2} }4. 代码实现方法 2n (n - 1) public class HammingWeightOptimized {public int countOnes(int n) {int count 0;while (n ! 0) {n (n - 1); // 清除最低位的1count;}return count;}public static void main(String[] args) {HammingWeightOptimized solution new HammingWeightOptimized();int n 9; // 二进制: 1001System.out.println(二进制中 1 的个数: solution.countOnes(n)); // 输出 2} }5. 代码讲解 方法 1 时间复杂度 O(log n)因为 n 的二进制长度最多为 log n。空间复杂度 O(1)。 方法 2 时间复杂度 O(k)其中 k 是 n 中 1 的个数比 O(log n) 更快。空间复杂度 O(1)。 n (n - 1) 计算次数等于 1 的个数比 O(log n) 更快。 四、位运算总结 1. 常用位运算技巧 运算作用a 1判断 a 是否为奇数a(1 k)a ~(1 k)将 a 的第 k 位置 0a ^ (1 k)翻转 a 的第 k 位n (n - 1)清除 n 的最低位 1n (-n)获取 n 的最低位 1 2. 位运算的常见应用 判断奇偶数n 1 1奇数n 1 0偶数。求 n 的二进制中 1 的个数。交换两个数a a ^ b; b a ^ b; a a ^ b;不使用额外空间。判断 n 是否是 2 的幂n 0 (n (n - 1)) 0。 练习建议 理解异或运算的性质练习 只出现一次的数字。熟练掌握 n (n - 1)用于清除最低位 1 的优化技巧。多做位运算相关题目包括位掩码、二进制操作。
http://www.hkea.cn/news/14379692/

相关文章:

  • 做网站域名大概多少钱购物网站设计开题报告
  • 甘肃网站seo技术厂家有模板怎么做网站
  • 济南历城区网站建设成都制作网页
  • 母婴用品网站模板建立网站的过程
  • 教育网站官网wordpress 循环菜单
  • 德州做名片的网站做网站的具体内容
  • 建站优化是什么印度电商平台网站建设策划
  • 无锡科技网站建设秦皇岛做网站的公司
  • 为自己做的网站申请域名食品网站开发步骤
  • 云尚网络科技有限公司搜索排名信誉好的镇江网站优化
  • 商务网站建设与运营网站开发用了哪些知识要点
  • 汕头网站建设开发做进口产品的网站
  • 潮州木雕世家木雕网站建设案例分享开发公司补偿物业公司物业费协议
  • 网站建设对我有什么好处怎么做自己网站的API
  • 设计网站大全网wordpress建站教程视频教程
  • 衡水网站优化wordpress 本地调试
  • 网站婚庆模板网站内链工作做足
  • 网站设计师图片北京推广优化
  • jsp网站开发心得怎样利用网站做引流
  • 大兴网站建设服务公司网站右下角视频代码
  • 芜湖网站建设 文库如何逐步提升网站权重
  • 做网站竞价没有点击率医院可以做网站吗
  • 电商网站建设浩森宇特适合乡镇开的十五种店
  • 网站风格设计视觉双流区规划局建设局网站
  • 沈阳营销型网站制作技术微信小程序开发实战
  • 成都建设网站标化最新表格网站建设要准备的内容
  • 档案网站建设对比logo在线编辑器
  • 免费网站建设哪家好泰安房产网官网
  • 济南网站网站建设《传奇世界》官网
  • 新闻单位建设网站的意义网页平面设计模板