网站加入百度广告联盟天津做网站好的公司

张小明 2026/1/12 4:19:15
网站加入百度广告联盟,天津做网站好的公司,app市场调研报告,1688网站怎么做#x1f3ac; 胖咕噜的稞达鸭#xff1a;个人主页#x1f525; 个人专栏: 《数据结构》《C初阶高阶》 《Linux系统学习》 《算法日记》⛺️技术的杠杆#xff0c;撬动整个世界! #x1f425;位运算常见总结#xff1a; 本专题的前缀文章#xff1a; 算法日记专题#x… 胖咕噜的稞达鸭个人主页 个人专栏: 《数据结构》《C初阶高阶》《Linux系统学习》《算法日记》⛺️技术的杠杆撬动整个世界!位运算常见总结本专题的前缀文章算法日记专题位运算I汉明距离I II 面试题判断是不是唯一的字符 丢失的数字 两个整数相加只出现一次的数字I力扣链接算法原理:将数组中所有元素都异或在一起除了某个元素只出现一次以外其余每个元素均出现两次。最终异或的结果就是所求。classSolution{public:intsingleNumber(vectorintnums){intsum0;for(intnum:nums)sum^num;returnsum;}};只出现一次的数字II链接力扣算法原理位运算把数组中的数字都放在bit中有32个位0 和 1 指的是某个数字的二进制表示中的一位bit的值。3n个0 singel 0; -----取模 03n个0 singel 1; -----取模 13n个1 singel 0; -----取模 03n个1 singel 1; -----取模 1对于每一位 i统计数组中所有数字在该位为 1 的个数sum因为除了目标数字外其他数字都出现 3 次所以 sum 3×k bk 是出现 3 次的数字中该位为 1 的个数b 是目标数字在该位的值0 或 1sum % 3 b所以如果 b 0 → 目标数字该位为 0如果 b 1 → 目标数字该位为 1设置 ret 的该位为 1这样遍历完 32 位后ret 就是只出现一次的数字。classSolution{public:intsingleNumber(vectorintnums){intret0;//用于返回最后的结果for(inti0;i32;i)//修改ret中的值{intsum0;for(intx:nums)//遍历nums,计算nums中所有数字的第i位的和if(((xi)1)1)//此时第i位置的数字为1sum;sum%3;//所有出现在nums第0位的数字都加起来再取模3if(sum1)ret|(1i);//判断如果sum 最后取模等于1就说明这个数字单独出现过}returnret;}};只出现一次的数字III只出现一次的数字力扣链接解题原理所有数异或一个数组中只有两个数字只出现了一次其余都出现了两次先将数组中所有的数字都进行异或最后剩下的一个数字就是唯一出现一次的这两个数字的异或和分组找不同找出不同的才可以分组那干脆去找异或和中的最低位置的1先找出这个异或和最低位置的1定义为diff(一定有1存在)找出这个1所在的编号如果这个编号跟1按位与最终结果就是1再跟数组中的其他数字异或最后可以找出来这个数这个编号跟0按位与最终结果就是0再跟数组中的其他数字异或最后可以找出另外一个数字最后返回这两个数字。classSolution{public:vectorintsingleNumber(vectorintnums){inttmp0;for(inti:nums)tmp^i;//tmp中存储异或和unsignedintdiff(unsignedint)tmp-(unsignedint)tmp;inta0,b0;for(intnum:nums){if(diffnum)a^num;elseb^num;}return{a,b};}};面试题消失的两个数字消失的两个数字力扣链接解法数组中本身有nums个数字这些数字加上消失的两个数字a,b恰好是1~N中连续的数字区间所以nums中数字缺失数组 这段区间完整数组 —构成问题只出现一次的数字III关键其余数字都出现了两次只有a和b出现了一次返回a 和 b.解题可以将所有的数字异或在一起将结果收集在tmp中tmp a^ b;找到tmp中比特位为1的那一位异或的时候相同为0相异为1根据x位的不同划分为两类异或将这个x位置比特位为1的数字将其其余的数字都跟1异或在一起假设是b类将这个x位置比特位为0的数字将其其余的数字都跟0异或在一起假设是a类注意这个其余的数字既要在完整数组中进行异或操作也要在缺失数组中进行异或。其余数字都出现过两次只有其中一位数字只出现了一次classSolution{public:vectorintmissingTwo(vectorintnums){inttmp0;for(inti1;inums.size()2;i)tmp^i;for(intnum:nums)tmp^num;//找出ab比特位中不同的那一位intdiff0;while(1){if(((tmpdiff)1)1)break;elsediff;}//根据diff的不同将所有的数字都划分为两类来进行异或inta0,b0;for(intnum:nums)if(((numdiff)1)1)b^num;elsea^num;for(inti1;inums.size()2;i)if(((idiff)1)1)b^i;elsea^i;return{a,b};}};方法二位运算取最低位次的1classSolution{public:vectorintmissingTwo(vectorintnums){intsum0;for(inti1;inums.size()2;i)sum^i;for(intnum:nums)sum^num;intlowbitsum-sum;//取出最低位置的1在哪一位如果是倒数第二位就是2倒数第三位就是3是一个编号inta0,b0;for(inti1;inums.size()2;i){if(ilowbit)a^i;//判断这个位置的数字和i按位与如果i是0按位与的结果是0;elseb^i;//如果按位与的结果是1最终要按照lowbit算取编号}for(intnum:nums){if(numlowbit)a^num;elseb^num;}return{a,b};}};比特位计数比特位计数力扣链接题目解析对于0 i n中的每个i计算其二进制表示中1的个数返回一个长度为n 1的数组ans作为答案。思路找出0 i n中每一个数字二进制表示中总共有几个1数组中表示的是每一个i位有几个1将每一个数字放到位图中,每一位为1sum ,一个数字放好到位图中之后返回sum。ret[x]中收集每一个countBit中返回的sum个数sum用来计数字1.classSolution{public:vectorintcountBits(intn){vectorintret(n1);//用于返回最终结果的ret有n1个空间第n个数字二进制中有几个1也要返回autocountBit[](intx){intsum0;for(inti0;i32;i){if((xi)1)sum;//将x右移动i位并且按位与1判断它的第i个位置是1还是0如果是1就sum}returnsum;//返回这个数字的二进制数有多少个1};//多次调用countBit(x) 函数计算 x 的二进制中 1 的个数for(intx0;xn;x){ret[x]countBit(x);//将结果存储在数组 ret 的第 x 个位置}returnret;}};通过这道题我们可以总结出x i) 1的操作适用于以下情景判断n的第i位是0还是1if((ni)1)统计二进制中1的个数intcountBits(intx){intsum0;for(inti0;i32;i){if((xi)1)sum;//x不断右移动i个位置跟1按位与}returnsum;}示例int x 13; // 二进制1101int sum 0;int i 0;// 检查第0位if((13 0) 1) sum; // (1101 1) 1sum变为1// 检查第1位if((13 1) 1) sum; // (0110 1) 0sum不变// 检查第2位if((13 2) 1) sum; // (0011 1) 1sum变为2// 检查第3位if((13 3) 1) sum; // (0001 1) 1sum变为3所以13的二进制表达中有3个1.
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站ui界面设计模板建设360导航网站的目的是什么意思

Linux 系统安全:PAM、文件权限与网络防护 1. PAM 文件简介 PAM(可插入认证模块)文件在系统中被广泛使用,对它们了解得越深入,就越能有效地解决相关问题。PAM 的魅力在于其可配置性,模块化设计使其易于使用和修改。支持 PAM 的应用程序无需用户为每个应用学习单独的密码…

张小明 2026/1/8 5:56:44 网站建设

响应式网站和普通网站不同网站推广优化联系方式

在计算机视觉领域,显著对象分割一直是备受关注的技术难题。今天,我们将深入探讨U-2-Net这一革命性的深度学习模型,它通过独特的嵌套U型结构实现了前所未有的分割精度。无论您是AI初学者还是计算机视觉开发者,U-2-Net都将成为您图像…

张小明 2026/1/7 13:19:52 网站建设

一个公司网站备案做网批的网站

VGGSfM(Visual Geometry Grounded Deep Structure From Motion)是一个融合深度学习和传统几何方法的开源三维重建项目,由Meta AI Research和牛津大学VGG团队联合开发。该项目在静态场景重建、动态相机跟踪和稠密点云生成方面展现出卓越性能&a…

张小明 2026/1/7 9:18:22 网站建设

wordpress自助建站网站建设服务商 需要什么主机

微PE官网WinPE环境下恢复被误删的IndexTTS2缓存文件 在本地部署AI语音合成系统的过程中,最让人崩溃的瞬间之一莫过于:你终于完成了模型首次加载,正准备享受流畅的离线语音生成时,一通误操作清空了缓存目录——然后眼睁睁看着系统…

张小明 2026/1/7 14:44:29 网站建设

网站建设 设计方案 百度文库深圳专业产品设计

anything-llm镜像能否用于竞品分析?实战案例 在企业竞争日益激烈的今天,市场团队常常面临一个尴尬的现实:每天要处理几十份PDF报告、上百页网页内容和无数条社交媒体动态,却依然难以快速回答老板最简单的问题——“我们的主要竞品…

张小明 2026/1/9 17:35:32 网站建设

温州网站建设模板总部爱城市网app官方下载

3步掌握高效英语输入:Qwerty Learner实战指南 【免费下载链接】qwerty-learner 为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers 项目地址: https://gitcode.com…

张小明 2026/1/9 15:20:43 网站建设