用.net做的网站软件开发阶段包括哪几个阶段

张小明 2026/1/8 15:54:03
用.net做的网站,软件开发阶段包括哪几个阶段,温州推广团队,wordpress 滑动主题位运算是利用二进制位特性解决问题的高效算法#xff0c;核心通过「与#xff08;#xff09;、或#xff08;|#xff09;、异或#xff08;^#xff09;、移位#xff08; / #xff09;」等基础操作#xff0c;将时间/空间复杂度优化到极致核心通过「与、或|、异或^、移位 / 」等基础操作将时间/空间复杂度优化到极致通常为O(n)O(n)O(n)时间、O(1)O(1)O(1)空间。它的应用场景覆盖“位计数”“找唯一数”“数值运算”“状态压缩”等核心问题是算法面试中高频且易掌握的考点。本文将通过10道经典题目拆解位运算在不同场景下的解题逻辑与代码实现。一、汉明重量统计二进制中1的个数题目描述输入一个无符号整数二进制串形式返回其二进制表达式中数字位数为1的个数汉明重量。示例输入n 00000000000000000000000000001011输出3输入n 11111111111111111111111111111101输出31解题思路利用n (n - 1)的核心特性该操作会消去n二进制中最右边的1。循环执行该操作直到n为0统计循环次数即为1的个数。完整代码classSolution{public:inthammingWeight(intn){intcnt0;while(n){n(n-1);cnt;}returncnt;}};复杂度分析时间复杂度O(k)O(k)O(k)k是二进制中1的个数最坏O(32)O(32)O(32)常数级。空间复杂度O(1)O(1)O(1)仅用常数级额外变量。二、比特位计数题目描述给定整数n对0 ≤ i ≤ n的每个i计算其二进制中1的个数返回长度为n1的结果数组。示例输入n 2输出[0,1,1]输入n 5输出[0,1,1,2,1,2]解题思路复用“汉明重量”的核心逻辑遍历0~n的每个数逐个统计二进制中1的个数存入结果数组。完整代码classSolution{public:vectorintcountBits(intn){vectorintret;intcnt0;for(inti0;in;i){inttmpi;while(tmp){tmp(tmp-1);cnt;}ret.push_back(cnt);cnt0;}returnret;}};复杂度分析时间复杂度O(n×k)O(n×k)O(n×k)k是单个数字二进制中1的个数最坏O(32n)O(32n)O(32n)仍为线性级。空间复杂度O(1)O(1)O(1)结果数组为必要输出不计入额外空间。三、汉明距离题目描述两个整数的汉明距离是其二进制位不同的位置数目。给定x和y返回它们的汉明距离。示例输入x 1, y 4输出21:00014:0100不同位有2个解题思路异或操作x ^ y结果中1的位置对应两个数二进制不同的位置0对应相同位置。统计异或结果中1的个数复用汉明重量逻辑即为汉明距离。完整代码classSolution{public:inthammingDistance(intx,inty){intnx^y;intret0;while(n!0){nn-1;ret;}returnret;}};复杂度分析时间复杂度O(k)O(k)O(k)k是异或结果中1的个数常数级。空间复杂度O(1)O(1)O(1)仅用常数级额外变量。四、只出现一次的数字其余出现两次题目描述给定非空整数数组除某个元素只出现一次外其余元素均出现两次。找出该元素要求线性时间、不使用额外空间。示例输入nums [2,2,1]输出1输入nums [4,1,2,1,2]输出4解题思路利用异或的核心特性a ^ a 0相同数异或抵消a ^ 0 a与0异或保留自身异或满足交换律/结合律。遍历数组所有数异或的结果即为只出现一次的数。完整代码classSolution{public:intsingleNumber(vectorintnums){intret0;for(autox:nums){ret^x;}returnret;}};复杂度分析时间复杂度O(n)O(n)O(n)遍历数组一次。空间复杂度O(1)O(1)O(1)仅用常数级额外变量。五、只出现一次的数字其余出现三次题目描述给定整数数组除某个元素只出现一次外其余元素均出现三次。找出该元素要求O(n)O(n)O(n)时间、O(1)O(1)O(1)空间。示例输入nums [2,2,3,2]输出3输入nums [0,1,0,1,0,1,99]输出99解题思路按二进制位统计遍历每一位0~31位覆盖int所有位统计数组中所有数在该位上1的总个数sum若sum % 3 1说明唯一数在该位上是1其余数出现三次该位1的个数是3的倍数抵消后剩余1逐位构建结果将为1的位通过ret | 1 i写入结果。完整代码classSolution{public:intsingleNumber(vectorintnums){intret0;for(inti0;i32;i){intsum0;for(autox:nums)if(((xi)1)1)sum;sum%3;if(sum1)ret|1i;}returnret;}};复杂度分析时间复杂度O(32n)O(32n)O(32n)遍历32位每位遍历数组一次仍为线性级O(n)O(n)O(n)。空间复杂度O(1)O(1)O(1)仅用常数级额外变量。六、只出现一次的数字两个唯一数题目描述给定整数数组恰好两个元素只出现一次其余元素均出现两次。找出这两个元素要求O(n)O(n)O(n)时间、O(1)O(1)O(1)空间。示例输入nums [1,2,1,3,2,5]输出[3,5]解题思路全体异或得到两个唯一数的异或和xor_sum其余数出现两次异或抵消。找最低位1lowbit xor_sum (-xor_sum)该位表示两个唯一数在该位上二进制不同。分组异或按lowbit将数组分为两组该位为0/1每组内只有一个唯一数其余数出现两次分别异或得到结果。⚠️ 注意优先级高于判断时需加括号。完整代码classSolution{public:vectorintsingleNumber(vectorintnums){unsignedintxor_sum0;for(autoc:nums){xor_sum^c;}intlowbitxor_sum(-xor_sum);vectorintret(2);for(autoc:nums){if((lowbitc)0)// 优先级高于 必须加括号ret[0]^c;elseret[1]^c;}returnret;}};复杂度分析时间复杂度O(n)O(n)O(n)两次遍历数组。空间复杂度O(1)O(1)O(1)仅用常数级额外变量。七、判定字符是否唯一题目描述实现算法判断字符串astr的所有字符是否唯一进阶不使用额外数据结构。示例输入astr leetcode输出false输入astr abc输出true解题思路状态压缩用一个int32位的每一位表示对应字母a-z是否出现过若字符串长度26直接返回falsea-z仅26个字母。遍历字符计算偏移量i ch - a检查(bitMap i) 1若为1说明字符重复否则将bitMap的第i位设为1bitMap | (1 i)。完整代码classSolution{public:boolisUnique(string astr){if(astr.size()26)returnfalse;intbitMap0;for(autoch:astr){intich-a;if((bitMapi)11)returnfalse;bitMap|(1i);}returntrue;}};复杂度分析时间复杂度O(n)O(n)O(n)遍历字符串一次n≤26常数级。空间复杂度O(1)O(1)O(1)仅用一个int存储状态。八、缺失的数字题目描述给定包含[0, n]中n个数的数组nums找出[0, n]范围内未出现的数。示例输入nums [3,0,1]输出2输入nums [0,1]输出2解题思路复用异或特性将数组所有数异或得到中间结果。再将中间结果异或0~n的所有数最终结果即为缺失的数出现两次的数抵消缺失数仅异或一次。完整代码classSolution{public:intmissingNumber(vectorintnums){intret0;for(autoch:nums)ret^ch;for(inti0;inums.size();i)ret^i;returnret;}};复杂度分析时间复杂度O(n)O(n)O(n)两次遍历数组0~n。空间复杂度O(1)O(1)O(1)仅用常数级额外变量。九、两整数之和题目描述不使用和-运算符计算并返回两个整数a和b的和。示例输入a 1, b 2输出3输入a -2, b 3输出1解题思路用位运算模拟加法异或a ^ b得到两数相加无进位的结果。与运算后左移1位(a b) 1得到相加的进位值。循环将无进位结果作为新的a进位作为新的b直到进位为0此时a即为和。完整代码classSolution{public:intgetSum(inta,intb){while(b){intxa^b;intcarry(ab)1;ax;bcarry;}returna;}};复杂度分析时间复杂度O(k)O(k)O(k)k是二进制位数常数级。空间复杂度O(1)O(1)O(1)仅用常数级额外变量。十、丢失的两个数字题目描述给定数组包含1~N的整数缺两个数在O(n)O(n)O(n)时间、O(1)O(1)O(1)空间内找出这两个数。示例输入nums [1]输出[2,3]输入nums [2,3]输出[1,4]解题思路结合“两个唯一数”和“缺失数字”的逻辑全体异或数组所有数异或1~n2n是数组长度得到两个缺失数的异或和ret。找最低位1lowbit ret (-ret)按该位分组。分组异或每组内分别异或数组元素和1~n2的数得到两个缺失数。完整代码classSolution{public:vectorintmissingTwo(vectorintnums){intret0;for(autox:nums)ret^x;for(inti1;inums.size()2;i)ret^i;intlowbitret(-ret);vectorintans(2);for(autox:nums)if((lowbitx)0)ans[0]^x;elseans[1]^x;for(inti1;inums.size()2;i)if((lowbiti)0)ans[0]^i;elseans[1]^i;returnans;}};复杂度分析时间复杂度O(n)O(n)O(n)多次遍历数组/数字范围均为线性级。空间复杂度O(1)O(1)O(1)仅用常数级额外变量。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

什么软件可以做动画视频网站网站建设-丹东

SenseVoice语音识别终极指南:从技术革新到实战应用 【免费下载链接】SenseVoice Multilingual Voice Understanding Model 项目地址: https://gitcode.com/gh_mirrors/se/SenseVoice 还在为语音转文字效率低下而烦恼吗?🤔 面对海量音频…

张小明 2026/1/5 21:40:30 网站建设

苏州街网站建设网站建设开发流程

千万不能错过!这款外卖点单小程序,专业到让同行都震惊了!引言随着移动互联网的快速发展,外卖行业已经成为现代生活中不可或缺的一部分。越来越多的餐饮商家开始重视线上业务的发展,而一款高效的外卖点单小程序则是提升…

张小明 2026/1/6 8:39:01 网站建设

花店商城网站设计网络营销有哪几种方式

抖音无水印下载终极教程:新手也能快速掌握的完整指南 【免费下载链接】kill-douyin-watermark-online 抖音视频无水印解析傻瓜式下载,仔细看源码可以集成到你自己的程序中。 项目地址: https://gitcode.com/gh_mirrors/ki/kill-douyin-watermark-onlin…

张小明 2026/1/6 12:56:41 网站建设

网站建设得步骤如何用家用电脑做网站

安卓平板的图像与音乐管理指南 在当今数字化的时代,安卓平板凭借其多功能性,成为了我们生活中不可或缺的娱乐和创作工具。它不仅能够拍摄高质量的照片和视频,还具备强大的音乐播放功能。本文将详细介绍如何在安卓平板上进行图像和音乐的管理,让你充分发挥平板的潜力。 图…

张小明 2026/1/7 8:10:31 网站建设

官方微网站吗wordpress卡在首页

从 MCP 到 Agent Skills,AI Ready 的 .NET 10 正当时使用 .NET File-Based Apps 编写高效 Agent Skills 脚本指南前言AI 工具生态正在经历一场深刻的变革。从 Anthropic 推出的 Model Context Protocol (MCP) 到最新发布的 Agent Skills,我们见证了 AI 能…

张小明 2026/1/3 10:25:10 网站建设

泰安做网站公司哪家好那个企业建网站好

# 大模型部署瓶颈怎么破?用TensorRT镜像实现极致低延迟推理## 引言在大模型落地的现实战场上,一个残酷的事实是:再强大的模型,如果响应慢、吞吐低,最终也只能停留在实验室里。如今,从智能客服到自动驾驶感知…

张小明 2026/1/3 20:18:07 网站建设