走路類數字和字串互轉
讀入類判斷資料區間
這裡我要在二維vector中查到符合條件的vector,有兩種方法
1.直接使用find函式,find返回迭代器,我們取得返回結果再與初始迭代器相減然後再判斷下就可以。
vector<
int<
int>> ob;
vector<
int>num;
//要查詢的vector
//找不到if(
(find
(ob.
begin()
,ob.
end(
),num)
-begin()
)== ob.
end())
else
上面方法的效率很慢,是最笨的方法。
pair將兩個型別組合在一起,在一些題目中非常有用,而set能幫助我們存放元素。但是這個方法只能用於查詢長度為2的時候
setint,
int>>set
vector<
int<
int>> ob;
for(
auto obj:ob)
vecotr<
int,
int>num;
//和上面一樣 查詢和判斷
find
(set.
begin()
,set.
end(),
make_pair
(num[0]
,num[1]
);
這些問題一般出現在模擬題,或者dfs中
用下面的技巧來模擬走路
//face是方向, x[face],y[face]則是即將走動的方向
int face=0;
int x=
;int y=
;
這種題目一般是要對多少位數字進行操作,直接對int或者double型別操作會不方便,這時就需要我們借助string的幫助
stringstream很強大很方便,不幸的是它很慢!在資料比較大的情況慎用
直接上**
#include
using namespace std;
intmain()
sprintf()
示例
int
sprintf
(char
*buffer,
const
char
*format,
[ argument] … )
;//引數列表
// buffer:char型指標,指向將要寫入的字串的緩衝區。
// format:格式化字串。
// [argument]...:可選引數,可以是任何型別的資料。
// 返回值:字串長度(strlen)
int aa =30;
char c[8]
;int length =
sprintf
(c,"%d"
, aa)
; cout/ 結果為 30
string str=c ;
//使用string繼續操作
上述格式化補充
%% 印出百分比符號,不轉換。
%c 整數轉成對應的 ascii 字元。
%d 整數轉成十進位。
%f 倍精確度數字轉成浮點數。
%o 整數轉成八進位。
%s 整數轉成字串。
%x 整數轉成小寫十六進製。
%x 整數轉成大寫十六進製。
sscanf()
這裡提一下sscanf,更多用法請看
有點像python中的槽函式
#include
using namespace std;
intmain()
例如我要讀入
25 6 8 11 9
10 12 9
2為兩行 剩下兩行是資料
int
main()
}
判斷一串數字是否連續
如1 2 3 5 6
如果連續 max-min=區間長度-1
上述例子6 - 1 != 4 不連續
陣列中常用的方法總結
低階 1 array.from,將乙個類似陣列的物件中建立乙個陣列例項 第乙個類陣列,第二個是函式,類陣列的每一項都會執行,第三個引數座位mapfn的this array.from foo f o o var o array.from 1,2,3,4 function item o 2,3,4,5 ...
weiphp中常用方法總結
通用分頁列表資料集獲取方法 調取 引數說明 獲取外掛程式類的類名 function get addon class name addon if class exists class addon return class 3 get model list 獲取模型列表資料 4 getmodel 通過查...
css中常用方法總結
css 提供了 text indent 屬性,該屬性可以方便地實現文字縮排。通過使用 text indent 屬性,所有元素的第一行都可以縮排乙個給定的長度,甚至該長度可以是負值。這個屬性最常見的用途是將段落的首行縮排。在設計乙個網頁的時候,有時候為了讓頁面的可讀性更好,更加美觀 就會使用到lett...