日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode刷题知识总结

發(fā)布時(shí)間:2024/10/14 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode刷题知识总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.判斷整數(shù)大于int類型最大最小值

C++中int類型最大值和最小值的表示形式:
最大值:(1<<31)-1,也可以是INT_MAX
最小值:(1<<31),還可以是INT_MIN

注意,我們使用long long和int類型最大值最小值比較時(shí)應(yīng)寫成如下格式

long long res=0;if(res>=(((long long)1<<31)-1)||res<=1<<31)

注意:C++不支持負(fù)數(shù)左移,可以把一個(gè)數(shù)轉(zhuǎn)為無符號(hào)數(shù)(unsigned int)再左移

2.C++從數(shù)組下標(biāo)1開始輸入

char str[100]; cin>>str+1;

3.異或(^)的用法

4.數(shù)組加容器的初始化

一維數(shù)組初始化:

int arr[100]; memset(arr,0,sizeof(arr));

二維數(shù)組初始化:

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排序默認(rèn)從小到大

當(dāng)我們使用兩個(gè)容器的嵌套排序(按照每個(gè)vector容器的第一個(gè)元素從小到大,如果相等,就按照第二個(gè)元素從大到小):

#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];//按照二維容器中一維容器的第二個(gè)元素從小到大排序

5.容器相關(guān)

resize(容器大小)//改變?nèi)萜鞔笮?vector) set.insert(elem).frist//返回哈希表set的查詢迭代器 set.insert(elem).second//返回插入元素是否成功

6.有關(guān)ASCII值

ASCII碼表里的字符總共有128個(gè)。ASCII碼的長(zhǎng)度是一個(gè)字節(jié),8位,理論上可以表示256個(gè)字符,但是許多時(shí)候只談128個(gè)

7.C++把字符串表示的數(shù)字轉(zhuǎn)換成整形數(shù)字

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的地方插入一個(gè)數(shù)據(jù)8flowerbed.insert(flowerbed.begin()+2,8);

總結(jié)

以上是生活随笔為你收集整理的LeetCode刷题知识总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。