list item
動態陣列vector的使用
好難好難,一臉懵逼.以對角線入手進行觀察:
vector<
int>
finddiagonalorder
(vector
int>>
& matrix)
;// 矩陣行列;k用於控制對角線行數的的奇偶
int m = matrix.
size()
, n = matrix[0]
.size()
, r =
0, c =
0, k =0;
vector<
int>
res(m * n)
;//結果
vector
int>> dirs,}
;for
(int i =
0; i < m * n;
++i)
//遇到下邊界
if(c >= n)
//遇到右邊界
if(r <0)
//遇到上邊界
if(c <0)
//上到左邊界
}return res;
}
想想一下你在開車,碰到指示牌就轉向…你遇到指示牌後必須調整該指示牌的下乙個位置。還需注意:當列數大於行數的時候,可能會遇到錯誤的轉向,比如3*5的矩陣,在1,1位置會錯誤轉上。
因而採用pair陣列來記錄當前的方向,只有當當前方向和路標條件吻合順時針走法時才做出相應調整。
over!
class solution
; pair<
int,
int>
coor(0
,0);
//當前座標
flag last_flag
(_right)
;//當前狀態
for(
int i=
0;i)else
if(coor==left && last_flag==_down)
else
if(coor==up && last_flag==_left)
else
if( coor==right && last_flag==_up)
coor.first +
= velocity.first;
coor.second +
= velocity.second;
}return result;}}
;
寫到這裡感覺自己的做題方式有問題,經常陷入個人思考,而現在段位還比較低…所以感覺挺浪費時間的,畢竟不久也容易忘記。不如先參考別人的思路,然後自己寫**。以後再溫習溫習。言歸正傳,這題就找規律,第i行具有i個數,並且每一行都是對稱的,因而可以利用雙指標進行優化。
res[i][j]=res[i-1][j-1]+res[i-1][j];注意i和j的定義和陣列邊界即可。
vector
int>>
generate
(int numrows)
} result.
push_back
(rowtemp);}
return result;
}
// 字串與數字的轉換
// created by wbzhang on 2020/3/12.
// 摘自部落格:
#include
#include
#include
#include
#include
using namespace std;
intmain()
還有通過ascii進行字元和整數之間的轉換
// 單個字元轉數字
char s=
'9';
int nums =
int(s-
'0')
;// 0的ascii碼是48
//單個數字轉字元
int num =9;
char numstr = num+
'0';
很簡單的題,但是我的做法太繁瑣了,主要我沒用substr。還是來學習一下大神的解答~解法1:這個第一行好評!這種寫法舒適啊。substr(ind,length)作切片當索引加長度超出陣列長度時,會返回索引到陣列最後乙個元素,而不必擔心越界。沒啥可說的了…
string longestcommonprefix
(vector
& strs)
}return r;
}
解法2:第j(j>1)個字串的第i個字元與第乙個字串的的第i個字元不同時,返回此時對第乙個字串的切片。
題解:1)雙指標法:取首尾指標p和q,如果p與q之間的總和p和q的大小,若*p>=*q,則q–;否則p++;
直到p==q或者兩者之間的和
《資料結構》 4陣列和字串
下標為i 0 iloc arrname i loc arrname 0 i sizeof elemtype 0 i陣列元素arrname i j 的儲存位址loc arrname i j 為 loc arrname i j loc arrname 0 0 i n j sizeof elemtype ...
資料結構 陣列,字串
陣列 字串是兩種最基本的資料結構,使用連續記憶體分別存數字和字元,並按照順序儲存。str indexofnew str indexoforiginal str indexofnew str indexoforiginal indexofnew bool duplicate int numbers,i...
資料結構與演算法 字串
判斷乙個串是不是回文串,往往要分開編寫,造成 的拖沓 int longestpalindrome const char s,int n return max void longestpalindrome test 上面的迴圈中,對於回文長度本身的奇偶性,我們進行區別處理。這樣有點拖沓。我們根據乙個簡...