数据结构【双指针算法】
生活随笔
收集整理的這篇文章主要介紹了
数据结构【双指针算法】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
雙指針一般應用于維護兩個隊列,或者同一隊列。
常見寫法如下
for (int i = 0, j = 0; i < n; i++){while (j < i && check(i, j)) j++;//每道題的具體邏輯}雙指針的核心思想是把如下O(n^2)的算法優化位O(n)
for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){//-----------}}實例:給定一個字符串abc def ghe,輸出字符串的每個字串
#include<iostream> #include<string.h> using namespace std;int main() {char str[1000];gets(str);int n = strlen(str);for (int i = 0; i < n; i++){int j = i;while (j < n && str[j] != ' ')j++;//具體題目邏輯for (int k = i; k < j; k++)cout << str[k];cout << endl;i = j;}return 0; }總結
以上是生活随笔為你收集整理的数据结构【双指针算法】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 11 新特性(十四)C++类
- 下一篇: 基于RTP的QOS算法简介