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

承德市建设局网站电话今天的新闻联播文字版

承德市建设局网站电话,今天的新闻联播文字版,化妆品行业网站建设方案,做二手房产网站多少钱文章目录 位运算二进制中1的个数题解代码我们需要0题解代码 排序模版排序1题解代码模版排序2题解代码模版排序3题解代码 双指针最长连续不重复子序列题解代码 二分查找题解代码 位运算 1. bitset< 16 >将十进制数转为16位的二进制数 int x 25; cout << bitset<…

文章目录

  • 位运算
    • 二进制中1的个数
    • 题解
    • 代码
    • 我们需要0
    • 题解
    • 代码
  • 排序
    • 模版排序1
    • 题解
    • 代码
    • 模版排序2
    • 题解
    • 代码
    • 模版排序3
    • 题解
    • 代码
  • 双指针
    • 最长连续不重复子序列
    • 题解
    • 代码
  • 二分
    • 查找
    • 题解
    • 代码

位运算

在这里插入图片描述
在这里插入图片描述

1. bitset< 16 >将十进制数转为16位的二进制数

int x = 25;
cout << bitset<16>(x) << endl;

二进制中1的个数

在这里插入图片描述

题解

1. 就是每个数与上1判断低位是否是1,是1就加,否则不加,判断完后,这个数右移1位,再判断,直到这个数变为0为止

代码

// 3  011 & 001  1 count++
//        >> 001 & 001 1 count++
#include<iostream>
#include<vector>
using namespace std;int main()
{int n;cin >> n;vector<int> v(n);for (int i = 0; i < n; i++)cin >> v[i];for (int i = 0; i < n; i++){int count = 0;int val = v[i];while (val){if (val & 1)count++;val /= 2;}v[i] = count;}for (int i = 0; i < n; i++)cout << v[i] << " ";return 0;
}

我们需要0

在这里插入图片描述

题解

1. 利用了x ^ x = 0和0 ^ x = x这两个性质

代码

// 1 ^ 2  ^ 3 ^ x ^ x ^ x  
// 1 ^ 2 ^ 3 ^ x = 0
// 1 ^ 2 ^ 3 ^ x ^ x == 0 ^ x
// 1 ^ 2 ^ 3 == x#include<iostream>
#include<vector>
using namespace std;int main()
{int t, n;cin >> t;int k = 0;int x = 0;while (t--){cin >> n;vector<int> v(n+1);int sum = 0;for (int i = 1; i <= n; i++)cin >> v[i];for (int i = 1; i <= n; i++)sum ^= v[i];cout << sum << '\n';}return 0;
}

排序

在这里插入图片描述

1. 使用unique之前要确保数组是有序的,有序的才能确保所有元素都是唯一的
2.unique会把重复的元素移动到数组的末尾,最后返回第一个重复元素的迭代器

模版排序1

在这里插入图片描述

题解

1. 先排序,然后用unique进行返回第一个重复元素的迭代器,最后用erase删除这些重复元素

代码

#include<iostream>
#include<vector>
#include<algorithm>using namespace std;int main()
{int n;cin >> n;vector<int> v(n);for(int i = 0;i < n;i++)cin >> v[i];sort(v.begin(),v.end());v.erase(unique(v.begin(),v.end()),v.end());for(auto x : v)cout << x << " ";return 0;
}

模版排序2

在这里插入图片描述

题解

1. 自己写一个排序的逻辑,自定义类型的排序
2.升序的,逆置完之后就可以变为降序的了

代码

#include<iostream>
#include<vector>
#include<algorithm>using namespace std;const int N = 2e5 + 10;
struct Book
{int a;int b;int c;bool operator<(const Book& v) const{if (a == v.a && b == v.b) return c < v.c;if (a == v.a) return b < v.b;return a < v.a;}}u[N];int main()
{int n = 0;cin >> n;for (int i = 0; i < n; i++)cin >> u[i].a >> u[i].b >> u[i].c;sort(u, u + n);reverse(u, u + n);for (int i = 0; i < n; i++)cout << u[i].a << " " << u[i].b << " " << u[i].c << '\n';return 0;
}

模版排序3

在这里插入图片描述

题解

1. 这题用了桶排序的思想
2.记录出现数字的次数,然后用次数控制循环,输出[ ]里的数就是存进去的数,可以按顺序输出了

代码

// 桶排序#include<iostream>
#include<vector>
#include<algorithm>using namespace std;const int N = 2e5 + 10;
int v[N];int main()
{int n = 0;cin >> n;for(int i = 1;i <= n;i++){int x;cin >> x;v[x]++;}for(int i = 0;i <= 2e5;i++){// v[i] 是出现的次数for(int j = 0;j < v[i];j++){// i是出现的数字cout << i << " ";}}cout << '\n';return 0;
}

双指针

1. 一快一慢(快慢指针)
2.区间内维护某个东西(滑动窗口)

在这里插入图片描述

最长连续不重复子序列

在这里插入图片描述

题解

1. 开始的时候i = 1,j = 0
2.j向右走的条件j+1下标的数不在数组中
3. 如果出现重复的数,更新i,让i向后走
4. 代码中使用桶的思想解决

在这里插入图片描述

代码

#include<iostream>
#include<vector>
#include<algorithm>const int N = 1e5 + 10;
using namespace std;
int a[N],b[N];void solve()
{int n = 0;cin >> n;for(int i = 1;i <= n;i++) cin >> a[i];int ans = 0;// 初始化桶数组for(int i = 1;i <= n;i++) b[a[i]] = 0;for(int i = 1,j = 0;i <= n;i++){// j < n并且后一个数不在桶数组中while(j < n && !b[a[j+1]]) b[a[++j]]++;// 更新最大长度ans = max(ans,j - i + 1);// i之后要++,让i往后走一个,把之前在桶数组中的数删除b[a[i]]--;}cout << ans << '\n';
}int main()
{int T = 0;cin >> T;while(T--){solve();}return 0;
}

二分

1. 二分的步骤
在这里插入图片描述
在这里插入图片描述

查找

在这里插入图片描述

题解

1. 保证了l始终小于r, l + 1 == r
2.这样保证了a[l] < x, a[r] >= x,后续可以判断a[r] == x

代码

#include<iostream>
#include<vector>
#include<algorithm>using ll = long long;
const int N = 2e5 + 10;
using namespace std;
int a[N];void solve()
{int n = 0, q = 0;cin >> n >> q;for (int i = 1; i <= n; i++) cin >> a[i];while (q--){int x;cin >> x;int l = 0, r = n;while (l + 1 != r){int mid = l + (r - l) / 2;if (a[mid] < x) l = mid;else r = mid;}if (a[r] == x) cout << r << " ";else cout << -1 << " ";}
}int main()
{solve();return 0;
}

文章转载自:

http://IgtSKAuk.mjtgt.cn
http://eSzojVL4.mjtgt.cn
http://qL9VOtOd.mjtgt.cn
http://zUBUPtCx.mjtgt.cn
http://vb33V8Nv.mjtgt.cn
http://zmfHPya6.mjtgt.cn
http://1DmeDz91.mjtgt.cn
http://11xa3Bo7.mjtgt.cn
http://5VsTLcr9.mjtgt.cn
http://vdhQzADz.mjtgt.cn
http://mz8FuHVZ.mjtgt.cn
http://bEYfQXl4.mjtgt.cn
http://vrXsjZ5n.mjtgt.cn
http://OApAaXCP.mjtgt.cn
http://28dTRr4B.mjtgt.cn
http://EIS854XX.mjtgt.cn
http://shJPUeeg.mjtgt.cn
http://WUxFgcn8.mjtgt.cn
http://UFYsabIj.mjtgt.cn
http://J0JQPVvQ.mjtgt.cn
http://MvV4gQO4.mjtgt.cn
http://r59XPK09.mjtgt.cn
http://cKEQWdN2.mjtgt.cn
http://Owh4U6cC.mjtgt.cn
http://eHSaRpgN.mjtgt.cn
http://cPAAWz8f.mjtgt.cn
http://GugwsPRi.mjtgt.cn
http://RR5M8H6p.mjtgt.cn
http://qI4WSSkN.mjtgt.cn
http://HPsl3Oo8.mjtgt.cn
http://www.dtcms.com/wzjs/690086.html

相关文章:

  • wordpress网站设置关键词设置微信公众号文章里好看的图片在哪个网站做
  • 吴桥做网站家电企业网站模板
  • 网站建设与管理 试卷wap网页游戏枭雄
  • 建筑公司网站制作网站点击快速排名
  • 西昌网站建设公司网站建设公司优惠大酬宾活动
  • 网站开发字体西安市建设工程交易信息网
  • 手机网站首页模板网站文字源码
  • 网站做缓存网站界面设计基础
  • 餐饮类网站设计wordpress主题的连接函数
  • 怎样在网做旅游网站如何做网站好看
  • jsp个人网站设计南县网站建设推荐
  • 响应式网站建设联雅网站开发中加入cad功能
  • 深圳营销型网站策划网站建立时间
  • 网站后台维护内丘企业做网站
  • 莒县做网站的电话深圳响应式网站建设
  • 网站建设与管理是什么网页设计精品课程网站
  • 莆田网站建设推广全球网站流量排名100
  • 建设部网站官网造价工程师孙思新移动商城积分兑换官网
  • 如何进行网站的建设和维护做衣服的教程网站有哪些
  • 合肥网站建设 卫来网络南昌污水厂最新数据
  • 重庆seo网站推广优化购物网站是多少
  • 南京网站制作百家号百度恶意屏蔽网站
  • 服务器网站托管最新军事新闻新浪网
  • 怎么注册网站平台手机网站模板建站
  • 旅游网站建设流程wordpress wordpress.org
  • 自己做网站内容读取太慢公司宣传片如何制作
  • 创新的微商城网站建设项目经理查询系统
  • 做网站销售话术阳泉住房和城乡建设厅网站
  • 国内网站开发的主流技术专网建设是什么
  • 做编程的+网站有哪些内容装饰公司如何拉客户