雙指標演算法

2021-10-03 07:15:03 字數 1563 閱讀 7766

leetcode 141 環形鍊錶

/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution

return false;

}};

leetcode 142 環形鍊錶2

class solution 

}if(!hascycle) return nullptr;

slow = head;

while(slow != fast)

return slow;

}};

leetcode 876 鍊錶的中間節點

class solution 

return slow;

}};

leetcode 面試 02.02 返回倒數第k個節點

lass solution 

while(fast)

return slow->val;

}};

leetcode 184 鍊錶排序

class solution 

r->next = merget(l,r->next);

return r;

}public:

listnode* sortlist(listnode* head)

//prev是slow的前驅元素,設為null後

prev->next = nullptr;

return merget(sortlist(head),sortlist(slow));

}};

leetcode 26 刪除排序陣列中的重複項

class solution  

return ++slow;

}};

leetcode 83 刪除排序鍊錶中的重複元素

class solution 

fast = fast->next;

}slow->next = nullptr;

return head;

}};

leetcode 34 在排序陣列中查詢元素的第乙個和最後乙個位置

class solution ;      

int l =0,r = n-1,m;

while(l < r)

if(nums[l] != target) return ;

res.push_back(l);

r = n;

while(l反轉陣列

leetcode 344 反轉字串

class solution

l++;

r--;}}

};

n數之和

滑動視窗

雙指標演算法

雙指標演算法模板 for int i 0,j 0 i n i 常見問題分類 1 對於乙個序列,用兩個指標維護一段區間 2 對於兩個序列,維護某種次序,比如歸併排序中合併兩個有序序列的操作 例題1 最長連續不重複子序列 給定乙個長度為n的整數序列,請找出最長的不包含重複數字的連續區間,輸出它的長度。輸...

雙指標演算法

title 雙指標演算法 date 2019 05 26 23 45 09 tags 雙指標演算法 雙指標演算法 主要是兩大類 核心思想 將乙個 o n 2 o n 2 o n2 的演算法 優化成 o n o n o n 的for int i 0 i for int j 0 j for i 0,j ...

雙指標演算法

一般雙指標的模板 雙指標演算法的思考方式 先想出暴力做法,再觀察是否存在單調性。傳統的演算法需列舉兩個指標的組合,兩個for迴圈時間複雜度為o n 2 雙指標演算法會使時間複雜度變為o n 給定乙個長度為n的整數序列,請找出最長的不包含重複數字的連續區間,輸出它的長度。輸入格式 第一行包含整數n。第...