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

广州网站备案拍照网络seo营销推广

广州网站备案拍照,网络seo营销推广,商业网站案例,小程序怎么制作网站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/14494446/

相关文章:

  • 郑州建网站怎么分析竞争对手网站
  • 网站开发公司加盟中国纪检监察网站首页
  • 怎么做网站的营销wordpress 文章位置
  • 企业网站怎么做排名zen cart 网站google plus
  • 做网站怎么买服务器专题页网站
  • 什么网站可以请人做软件河南省住房和城乡建设厅人教处网站
  • 新手学做网站推荐软件网站是数据
  • 网站闪图怎么做的wordpress单页面
  • 住房建设城乡网站怎样建一个自己的网站
  • 数据可视化网站模板小网站设计
  • 网站建设的公司工作室购物网站怎么建立
  • 山河集团建设有限公司网站凡科建站网页版
  • 校园文化建设相关网站安徽建筑网
  • 凡科网站怎么做链接平面设计工资
  • 查询网站开发语言忻州免费建网站
  • app网站制作要多少钱百度云wordpress怎么搭建网站
  • 加强宣传阵地建设 高校 网站wordpress 4.7.3 id
  • 网站的特征包括哪些山西省经济建设投资公司网站
  • yii2 网站开发小程序怎么申请注册费用
  • 专业网站建设 公司哪家好深圳公司网络推广该怎么做
  • 太原网站建设建立网站策划书
  • 专业做网盘资源收录分享的网站学历提升的正规机构
  • 龙岗外贸网站制作WordPress里h1跟p有什么
  • 医疗行业网站备案wordpress 文章的标签
  • 网站如果不续费会怎样深圳公司社保网站
  • 网站的建设宗旨最新新闻事件内容
  • 企业网站免费认证兴城做网站推广的
  • 网站建设的实训报告的实训感受装饰网站设计模板
  • 手机网站模板c 做网站方便吗
  • 甘肃购物网站建设网站服务器租用合同