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

网站开发翻译软文写作案例

网站开发翻译,软文写作案例,黑龙江省建筑工程网,校园推广是什么工作文章目录1. 题目2. 解题2.1 STL2.2 线性扫描2.3 位运算1. 题目 下一个数。给定一个正整数#xff0c;找出与其二进制表达式中1的个数相同且大小最接近的那两个数#xff08;一个略大#xff0c;一个略小#xff09;。 例1:输入#xff1a;num 2#xff08;或者0b10找出与其二进制表达式中1的个数相同且大小最接近的那两个数一个略大一个略小。 例1:输入num 2或者0b10输出[4, 1] 或者[0b100, 0b1]例2:输入num 1输出[2, -1]提示: num的范围在[1, 2147483647]之间 如果找不到前一个或者后一个满足条件的正数那么输出 -1。来源力扣LeetCode 链接https://leetcode-cn.com/problems/closed-number-lcci 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题 类似题目LeetCode 31. 下一个排列线性扫描 2.1 STL prev_permutation\next_permutation返回的是 bool 值会改变原数组 class Solution { public:vectorint findClosedNumbers(int num) {vectorint n(32,0);int i 31;while(num)//数字转成二进制存在数组里{n[i--] num1;num 1;}vectorint ans(2,-1);next_permutation(n.begin(),n.end());//会改变原数组long a calnum(n);if(0 a a INT_MAX)ans[0] a;prev_permutation(n.begin(), n.end());//上面next了一下这里往回退2步prev_permutation(n.begin(), n.end());a calnum(n);if(0 a a INT_MAX)ans[1] a;return ans;}int calnum(vectorint num){long sum 0;for(int i : num)sum sum*2i;return sum;} };0 ms 6.1 MB 2.2 线性扫描 手写下一个排列、前一个排列 class Solution { public:vectorint findClosedNumbers(int num) {vectorint n(32,0);int i 31;while(num){n[i--] num1;num 1;}vectorint ans(2,-1);next_perm(n);long a calnum(n);if(0 a a INT_MAX)ans[0] a;prev_perm(n);prev_perm(n);a calnum(n);if(0 a a INT_MAX)ans[1] a;return ans;}void next_perm(vectorint n){int i n.size()-2, j;while(i0 n[i] n[i1])i--;//找到下降点if(i0){j i1;while(j n.size() n[i] n[j])j;swap(n[i],n[j-1]);}reverse(n,i1,n.size()-1);}void prev_perm(vectorint n){int i n.size()-2, j;while(i0 n[i] n[i1])i--;//找到上升点if(i0){j i1;while(j n.size() n[i] n[j])j;swap(n[i],n[j-1]);}reverse(n,i1,n.size()-1);}void reverse(vectorint n, int l ,int r){while(l r)swap(n[l],n[r--]);}int calnum(vectorint num){ //计算排列后的数值long sum 0;for(int i : num)sum (sum1)i;return sum;} };4 ms 6.3 MB 2.3 位运算 bitset 存储各个位注意 bitset 的位置是反的【0—n-1】对应【低位。。。高位】下一个排列从低往高找下降点即找到 01–10高位变大后面的低位变成[000… 111]最小上一个排列从低往高找上升点即找到 10–01高位变小后面的低位变成[111… 000]最大 class Solution { public:vectorint findClosedNumbers(int num) {bitset32 big(num);bitset32 small(num);vectorint ans(2,-1);int i, l, r;for(i 1; i 32; i)//next 找下降点{if(big[i-1] big[i]){big.flip(i);big.flip(i-1);l 0, r i-1;while(l r){while(l r big[l]1)//高位的1全部挪到低位l;while(l r big[r]0)r--;big.flip(l);big.flip(r--);}long a big.to_ulong();if(a INT_MAX)ans[0] a;break;}}for(i 1; i 32; i)//prev 找上升点{if(small[i-1] small[i]){small.flip(i);small.flip(i-1);l 0, r i-1;while(l r){while(l r small[l]0)//低位的1全部挪到高位l;while(l r small[r]1)r--;small.flip(l);small.flip(r--);}long a small.to_ulong();if(a INT_MAX)ans[1] a;break;}}return ans;} };
http://wiki.neutronadmin.com/news/374018/

相关文章:

  • 网站建设课程的感受福田欧辉校车
  • 做手机网站兼容wordpress文章推送公众号
  • 旅游网站的功能结构图怎么做国际网站
  • 网站安全维护包括什么建站公司网站论坛
  • 优秀国外网站设计赏析怎样才能创建网站
  • c 网站开发的优点wordpress无法进入仪表盘
  • 给我一个网站贴吧营销qq购买
  • 如何外贸网站推广电商网站零售客户
  • 网站建设和维护视频长沙公司网页设计
  • 做网站 需要工信部备案吗表格制作教程从零开始
  • 网站云主机自己做的网站被举报违反广告法
  • 北仑网站建设培训做企业网站设计价格是多少钱
  • 做网站软件图标是一个箭头的北京开网站建设公司
  • 云南住房建设厅网站高端猎头公司排名
  • WordPress养老院主题青岛seo网站关键词优化
  • 温州市永嘉上塘建设局网站seo优化网站查询
  • 株洲企业网站建设品牌wordpress注册插件中文版
  • 云南网站开发公司wordpress书籍主题
  • 郑州网站优化平台wordpress绿色框
  • 金融网站开发文档北京网站建设推广服
  • django网站开发逻辑设计网站网络营销公司
  • 红色旅游网站页面建设广州网站关键排名
  • 网站模板 北京公司手表网站制作模板
  • 盐城公司做网站备份wordpress网站
  • iis 没有新建网站嘉兴网站建设哪家做得好
  • ps如何做网站专题珠海市住房建设局网站
  • 做网站的公司天津小网站做长尾词还是流量词
  • 哪里有网站建设联系方式wordpress seo 链接
  • 濮阳免费网站建设专业行业网站建设
  • 怎么制作个人网站建设银行网站设计的优点