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

烟台商城网站制作招生网站建设板块

烟台商城网站制作,招生网站建设板块,无锡网站搜索优化,做 淘宝客最大的网站是叫什么名字文章目录 位1的个数题意:解:代码: 汉明距离题意:解:代码: 颠倒二进制位题意:解:代码: 杨辉三角题意:解:代码: 有效的括号题意&#xf…

文章目录

        • 位1的个数
          • 题意:
          • 解:
          • 代码:
        • 汉明距离
          • 题意:
          • 解:
          • 代码:
        • 颠倒二进制位
          • 题意:
          • 解:
          • 代码:
        • 杨辉三角
          • 题意:
          • 解:
          • 代码:
        • 有效的括号
          • 题意:
          • 解:
          • 代码:
        • 缺失数字
          • 题意:
          • 解:
          • 代码:

位1的个数

题意:

32位二进制判断1的数量

解:

bitset

代码:
#include<iostream>
#include<bitset>
using namespace std;
int hammingWeight(uint32_t n)
{bitset<32>bs(n);return bs.count();
}
int main()
{uint32_t n;cin>>n;int ans=hammingWeight(n);cout<<ans<<endl;return 0;
}

汉明距离

题意:

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。

解:

异或 bitset

代码:
#include<iostream>
#include<bitset>
using namespace std;
int hammingDistance(int x, int y)
{bitset<32>bs(x^y);return bs.count(); 
}
int main()
{int x,y;cin>>x>>y;int ans=hammingDistance(x,y);cout<<ans<<endl;return 0;
}

颠倒二进制位

题意:

如题

解:

双指针翻转bitset

代码:
#include<iostream>
#include<bitset>
#include<algorithm> 
using namespace std;
uint32_t reverseBits(uint32_t n)
{bitset<32>bs(n);int l=0,r=31;while(l<r){bool temp=bs[l];bs[l]=bs[r];bs[r]=temp;l++;r--;}uint32_t ret=bs.to_ulong();return ret;
}
int main()
{uint32_t n;cin>>n; int ans=reverseBits(n);cout<<ans<<endl;return 0;
}

杨辉三角

题意:

如题

解:

数学推导

代码:
#include<iostream>
#include<bitset>
#include<algorithm> 
using namespace std;
vector<vector<int>> generate(int numRows)
{vector<vector<int>>ret;for(int i=1;i<=numRows;i++){//cout<<"i:"<<i<<endl;vector<int>temp;for(int j=0;j<i;j++){//cout<<"j:"<<j<<endl;if(j==0||j==i-1) temp.push_back(1);else temp.push_back(ret[i-2][j-1]+ret[i-2][j]);}ret.push_back(temp);}return ret;
}
int main()
{int n;cin>>n; vector<vector<int>>ans=generate(n);for(auto &row:ans){for(auto &col:row) cout<<col<<ends;cout<<endl;}return 0;
}

有效的括号

题意:

给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

解:

经典栈处理

代码:
#include<bits/stdc++.h>
using namespace std;
bool isValid(string s)
{vector<char>stackVec(s.size());int cnt=0;map<char,char>mp={ {'{',' '},{'}','{'},{'[',' '},{']','['},{'(',' '},{')','('}};for(const auto &ch:s){//cout<<"ch:"<<ch<<"&cnt:"<<cnt<<endl;if(cnt==0) stackVec[cnt++]=ch;else{if(mp[ch]==stackVec[cnt-1]){cnt--;}else stackVec[cnt++]=ch;}//cout<<"ch:"<<ch<<"&cnt:"<<cnt<<endl;}return (cnt==0?true:false);
}
int main()
{string s;cin>>s;bool ans=isValid(s);cout<<boolalpha<<ans<<endl;return 0;
}

缺失数字

题意:

给定一个包含 [0, n]n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。

解:

经典异或

主要原理:0^x=x 和 x^x=0,所以出现两遍的数字不会影响结果

代码:
#include<bits/stdc++.h>
using namespace std;
int missingNumber(vector<int>& nums)
{int n=nums.size(),ret=0;for(auto &num:nums) ret^=num;for(int i=0;i<=n;i++) ret^=i;return ret;
}
int main()
{vector<int>nums;int temp;while(cin>>temp) nums.push_back(temp);int ans=missingNumber(nums);cout<<ans<<endl;
}
http://www.hyszgw.com/news/30959.html

相关文章:

  • 网站制作的公长沙做网站 青创互联
  • 建站到网站收录到优化百度代运营推广
  • 用文件传输协议登录网站全国招商加盟项目
  • 黑龙江学校网站建设网站推广现状
  • 广东省网站设计与开发网页设计师培训机构有吗
  • 广州网站建设公司奇亿网站建设php网站开发系统
  • 丘受网站谁做的网球吧网络推广培训哪里的
  • 青岛seo网站排名优化wordpress hacker主题
  • 网站开发如何模块化wordpress站内信群发
  • 如何做做网站海南综合网站
  • dede网站如何做中英文版本网站seo优化建议
  • 免费网站制作如何制作h5动态画面
  • 网站开发图标下载江西网
  • 宋祖儿在哪个网站做网红古侯子 wordpress
  • 网站建设成本预算唐山市路桥建设有限公司网站
  • 响应式网站 app九九电视剧免费观看完整版
  • 电子商务网站开发策划案网站开发费用如何记账
  • 网站名称怎么备案自适应型网站建设服务电话
  • 广西建设网桂建云官网seosem是什么职位
  • 中山建网站哪家好wordpress换主题主页还是旧主题
  • 怎么把自己做的网站让别人收到在ps中做网站首页的尺寸
  • 潍坊地区制作网站外贸选品网站
  • 密云郑州阳网站建设wordpress主页图片怎么让它轮播
  • 体育用品网站模板企业网络搭建方案
  • 网站建设商务通什么意思新网站建设服务公司
  • 网站搭建平台价格如何自己做免费网站
  • 设计网站用户需求分析报告淘客返利网站怎么做
  • 网站排名易下拉排名惠州网站建设信息
  • 网站方案书网络服务提供者发现用户利用其网络
  • 温州外贸网站甘肃兰州网站建设