Loading... ## 模板: ```cpp for (int i = 0, j = 0; i < n; i ++ ) { while (j < i && check(i, j)) j ++ ; // 具体问题的逻辑 } 常见问题分类: (1) 对于一个序列,用两个指针维护一段区间 (2) 对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作 ``` ## 例题: https://www.dotcpp.com/oj/problem1536.html ### 题解: ```cpp #include<bits/stdc++.h> using namespace std; int main(){ string s1; getline(cin, s1); int max_num = -1; int n, m; for(int i = 0; i < s1.size(); i++){ int j = i; while(j < s1.size() && s1[j] != ' ')j++; if((j - i) > max_num){ max_num = j - i; n = i, m = j; } i = j; } for(int i = n; i < m; i++){ cout<<s1[i]; } return 0; } ``` 最后修改:2022 年 03 月 14 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果文章有用,请随意打赏。