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

建设网站需要哪些软硬件条件wordpress文章页标题优化

建设网站需要哪些软硬件条件,wordpress文章页标题优化,施工企业安全培训,酒店都不建网站吗题目1#xff1a;下一个数 给定一个正整数#xff0c;找出与其二进制表达式中1的个数相同且大小最接近的那两个数#xff08;一个略大#xff0c;一个略小#xff09;。 示例#xff1a; 输入#xff1a;num 2#xff08;或者0b10#xff09; 输出#xff1a;[4,…题目1下一个数 给定一个正整数找出与其二进制表达式中1的个数相同且大小最接近的那两个数一个略大一个略小。 示例 输入num 2或者0b10  输出[4, 1] 或者[0b100, 0b1]  输入num 1  输出[2, -1] 解题思路 1.先用bitset将num的32位二进制表示出来存放到数组中方便可以遍历 2.较大值从左往右找到第一个01将其转换成10再将右侧剩余的1全都移动到最低位 eg.0101110   -1000111 3.较小值从左往右找到第一个10将其转换成01 再将右侧剩余的1全都移动到最高位 eg.1001110   -0111100 4.bitset数组的下标是从低位开始的也就是从右往左进行遍历 源代码如下 class Solution { public:vectorint findClosedNumbers(int num) {bitset32 smaller(num);//将二进制表示出来bitset32 bigger(num);//找较小值int a-1;//a初始化为-1for(int i1;i32;i){//找到10变成01if(smaller[i]1 smaller[i-1]0){smaller.flip(i);//flip(i)将第i位上的数字进行翻转 0转11转0smaller.flip(i-1);//将右侧剩余的1全移动到高位//相当于left和right的位互换for(int left0,righti-2;leftright;){//从低位找到第一个不为0的while(leftright smaller[left]0) left;//从高位找到第一个不为1的while(leftright smaller[right]1) right--;//位翻转smaller.flip(left);smaller.flip(right);}//smaller.to_ulong() 将数组smaller转成unsigned long类型的值//再强转成int类型a(int)smaller.to_ulong();break;}}//找较大值int b-1;//在找较大值时bigger要保证正数最高符号位保证为0最大正数为21474836472进制31个1i只能到第30位如果写 i32 会出现上溢所以这里与较小值不同的点在于要将i32改为i31,防止溢出for(int i1;i31;i){//找到01变成10if(bigger[i]0 bigger[i-1]1){bigger.flip(i);bigger.flip(i-1);//将右侧剩余的1全移动到低位for(int left0,righti-2;leftright;){while(leftright bigger[left]1) left;while(leftright bigger[right]0) right--;bigger.flip(left);bigger.flip(right);}b(int)bigger.to_ulong();break;}}return {b,a};} }; 题目2整数转换 编写一个函数确定需要改变几个位才能将整数A转成整数B。 示例 输入A 29 或者0b11101, B 15或者0b01111  输出2  输入A 1B 2  输出2 解题思路 1.用bitset将整数A和B的32位 二进制表示出来存放在数组里进行遍历 2.遇到aa[i]!bb[i]说明需要转换count即可 源代码如下 class Solution { public:int convertInteger(int A, int B) {bitset32 aa(A);//A的二进制bitset32 bb(B);//B的二进制int i0;//都是32位所以只需要一个下标进行遍历int count0;//用来记录需要改变的次数while(i32){//遇到当前位不相等的就需要转换countif(aa[i]!bb[i]){count;}i;}//返回countreturn count;} }; 题目3配对交换 编写程序交换某个整数的奇数位和偶数位尽量使用较少的指令也就是说位0与位1交换位2与位3交换以此类推。 示例 输入num 2或者0b10  输出 1 (或者 0b01) 解题思路 1.用bitset将num的二进制保存到数组中便于用下标进行访问 2.从低到高两两进行交换i2 3.将最后的结果用to_ulong()函数先转成unsigned long类型再强转成int类型 源代码如下 class Solution { public:int exchangeBits(int num) {bitset32 bit(num);int i0;//从低到高进行两两交换//注意因为要访问i1所以循环结束条件为i31,防止越界while(i31){int tempbit[i];bit[i]bit[i1];bit[i1]temp;i2;//i每次跳两个位数}//bit.to_ulong() 将二进制数转成unsigned long类型的值//再强转成int类型就可以返回了return (int)bit.to_ulong();} };
http://www.w-s-a.com/news/765585/

相关文章:

  • 网站建设功能需求文档wordpress 1g1核1m
  • 学做窗帘要下载哪个网站用户反馈数据分析软件园
  • 宁晋网站建设多少钱产品宣传推广方式有哪些
  • delphi做网站阿里巴巴官网首页登录入口
  • 游戏网站怎么建设新建wordpress模板
  • 网络服务器是指兰州网站seo诊断
  • 怎样做投资理财网站godaddy上传网站
  • 网站建设深圳哪家好世界500强企业招聘网站
  • 如何减少网站建设中的错误温州网站公司哪家好
  • 宜章网站建设北京定制公交网站
  • 怎么让谷歌收录我的网站郑州网站建设更好
  • 在线视频网站开发方案phpaspnet网站开发实例视频
  • 正常做一个网站多少钱网站开发所遵循
  • 西部数码网站备份领英创建公司主页
  • 中山网站建设文化平台成都电商app开发
  • 无锡网站推广公司排名中国十大网站建设
  • 网站建设报价怎么差别那么大深圳开发公司网站建设
  • 京东商城网站建设方案书建设网站平台
  • 如何查询网站建设时间赤峰建网站的电话
  • 域名购买网站有哪些公司企业邮箱管理制度
  • 阿里云服务起做网站抖音seo推荐算法
  • 免费建站工具机械网站建设公司推荐
  • 怎么用自己主机做网站_如何做简单的网站
  • 阿里巴巴国际站跨境电商平台为什么有点网站打不开
  • 甘肃做网站哪家好网站开发 都包含什么语言
  • 合肥哪里有做网站的广告型网站怎么做的
  • 用dede做的网站国外免费空间哪个好
  • dede个人网站模板企点
  • 韩雪个人网站wordpress 怎么添加网站备案信息
  • 个人网站可以做地方技能培训班