LeetCode刷题知识总结
生活随笔
收集整理的這篇文章主要介紹了
LeetCode刷题知识总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.判斷整數大于int類型最大最小值
C++中int類型最大值和最小值的表示形式:
最大值:(1<<31)-1,也可以是INT_MAX
最小值:(1<<31),還可以是INT_MIN
注意,我們使用long long和int類型最大值最小值比較時應寫成如下格式
long long res=0;if(res>=(((long long)1<<31)-1)||res<=1<<31)注意:C++不支持負數左移,可以把一個數轉為無符號數(unsigned int)再左移
2.C++從數組下標1開始輸入
char str[100]; cin>>str+1;3.異或(^)的用法
4.數組加容器的初始化
一維數組初始化:
int arr[100]; memset(arr,0,sizeof(arr));二維數組初始化:
int arr[10][10]; for(int i=0;i<10;i++) memset(arr[i],0,sizeof(arr[i]));vector的初始化:
vector<int> vec(10,0);4.排序
4.1sort排序
sort排序默認從小到大
當我們使用兩個容器的嵌套排序(按照每個vector容器的第一個元素從小到大,如果相等,就按照第二個元素從大到小):
#include<iostream> #include<vector> #include<bits/stdc++.h> using namespace std; bool com(vector<int> &a,vector<int> &b) {if(a[0]>b[0])return false;else if(a[0]<b[0])return true;else{if(a[1]<b[1])return false;else return true;} } int main() {vector<vector<int>> a;for(int i=0;i<4;i++){vector<int> b;int a1;int b1;cin>>a1;cin>>b1;b.push_back(a1);b.push_back(b1);a.push_back(b);}sort(a.begin(),a.end(),com);for(int i=0;i<4;i++){cout<<a[i][0]<<" "<<a[i][1]<<endl;}} sort(intervals.begin(), intervals.end(), [](vector<int> a, vector<int> b) { return a[1] < b[1];//按照二維容器中一維容器的第二個元素從小到大排序5.容器相關
resize(容器大小)//改變容器大小(vector) set.insert(elem).frist//返回哈希表set的查詢迭代器 set.insert(elem).second//返回插入元素是否成功6.有關ASCII值
ASCII碼表里的字符總共有128個。ASCII碼的長度是一個字節,8位,理論上可以表示256個字符,但是許多時候只談128個
7.C++把字符串表示的數字轉換成整形數字
int stoi(string str)
8.容器求和
n accumulate(num.begin(), num.end(), 0); // std::accumulate 可以很方便 //地求和9.在vector容器的插入
//vector容器的左右邊界插入0flowerbed.insert(flowerbed.begin(),0);flowerbed.insert(flowerbed.end(),0); //在vector索引為2的地方插入一個數據8flowerbed.insert(flowerbed.begin()+2,8);總結
以上是生活随笔為你收集整理的LeetCode刷题知识总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KMP算法求解next数组值(模式串从下
- 下一篇: xil_printf打印遇到的问题