前度字串轉陣列 leetcode每日一題

2021-10-13 03:51:31 字數 1389 閱讀 5595

3/24

128 最長連續序列

本題基本的演算法思想是並查集與雜湊表

len[i]儲存數字i所在的最長連續序列,但其實無需將所有的數字都更新為序列長度,每次只需更新左右兩個端點的數字即可。

每次遍歷乙個數,若曾經出現過,則跳過。若沒有出現過,則令其與左右兩邊的集合合併,令新長度為len[i-1]+len[i+1]+1,更新左右兩個端點和len[i]的值。

class solution //init

for(int i=0;i

for(int j=0;j

if(accounts[i][0]==accounts[j][0]&&!same(i,j))//union accounts

vector > ans;

for(int i=0;i

if(pre[i]==i)//未被合併的集合,加入到ans中

return ans;

3/28

924 儘量減少惡意軟體傳播

並查集class solution

class solution else//初始化所有節點的度

queue zeros;

for(int i=0;i

if(indegree[i]==0)zeros.push(i);

}//將度為0的節點入隊

while(!zeros.empty()));

while(r>l&&nums[l]==nums[l+1])l++;

while(r>l&&nums[r]==nums[r-1])r--;

l++;

return ans;

4/516 最接近的三數之和

與15相似,雙指標法

class solution ;

int res=0;

for(int i=0;i

if(left>m[s[i]]||m[s[i]]==0)elseelseelse if(nums[i]>second_max)

node(int _val, vector _children)

node(int _val, vector _children) {

val = _val;

children = _children;

class solution {

public:

vector ans;

void dfs(node* node){

if(node==null)return;

ans.push_back(node->val);

for(int i=0;ichildren.size();++i)dfs(node->children[i]);

vector preorder(node* root) {

dfs(root);

return ans;

字串轉陣列

將字串按某個字元切割成若干個字串,並以陣列形式返回 var s abc,abcd,aaa ss s.split 在每個逗號 處進行分解。console.log ss abc abcd aaa 擷取陣列中 720替換為 360 function changelargeimg self tophtml ...

php字串轉陣列函式,php字串轉陣列

php字串轉陣列 str split php 5,php 7 str split 將字串轉換為陣列 說明str split string string int split length 1 array 將乙個字串轉換為陣列。引數string 輸入字串。split length 每一段的長度。返回值如...

String字串轉陣列

遇見有關string的例子與問題 string類是不可變的 final 對string類的任何改變,都是返回乙個新的string類物件。string字串轉陣列 string s 2,654,24,6554 1.split string a s.split system.out.print a.len...