斗牛(双指针)

简介: 斗牛(双指针)

/*

双指针思想

使用场景:两头牛,让其pk,根据力量情况要进行不同的指针操作,

注意点:

根据样例推测该题血量a代表1,b代表2

该题血量下界为0,初始下界为1,因此将字符处理为数字时要将-('a' - 1)

*/

完整ac代码

#include <iostream>
using namespace std;
int main(){
    const int N = 1e4;
    int t;
    cin >> t;
    while(t--){
        int len,cnt = 0,res = 0;
        string n;
        cin >> len >> n;
        for(int i  = 0;i < len;i++){
            n[i] -= 'a' - 1;
        }
        for(int i = 0,j = 1;i < len&&j < len;j++){
            if(n[i] >= n[j]){
                cnt++;
                n[i] -= n[j];
            }
            else{
                n[j] -= n[i];
                cnt=1;
                i = j;
            }
            res = max(res , cnt);
        }
        cout << res << endl;
    }
    return 0;
}
目录
相关文章
|
3月前
|
算法 容器
双指针算法(一)
双指针算法(一)
|
3月前
|
索引 容器
leetcode双指针总结
leetcode双指针总结
28 0
|
10月前
|
算法
【算法专题突破】双指针 - 三数之和(7)
【算法专题突破】双指针 - 三数之和(7)
35 0
|
2月前
|
算法
双指针算法
双指针算法
20 2
|
6天前
|
算法 容器
【算法】双指针
【算法】双指针
|
7天前
|
算法 C++ 容器
【C++算法】双指针
【C++算法】双指针
|
3月前
|
存储 算法 容器
算法:双指针
算法:双指针
36 3
|
3月前
|
存储 算法 Java
【算法系列篇】双指针
【算法系列篇】双指针
|
3月前
|
算法 测试技术 C#
[二分查找双指针]LeetCode881: 救生艇
[二分查找双指针]LeetCode881: 救生艇
|
3月前
[leetcode 双指针]
[leetcode 双指针]