斗牛(双指针)

简介: 斗牛(双指针)

/*

双指针思想

使用场景:两头牛,让其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月前
【LeetCode 16】15.三数之和(双指针法)
【LeetCode 16】15.三数之和(双指针法)
42 1
|
8月前
|
索引 容器
leetcode双指针总结
leetcode双指针总结
37 0
|
算法
【算法专题突破】双指针 - 三数之和(7)
【算法专题突破】双指针 - 三数之和(7)
56 0
|
4月前
|
算法 索引 容器
双指针算法详解
本文介绍了双指针算法及其应用。双指针算法是在数组或字符串中常用的高效技术,通过维护两个指针遍历数据结构以解决特定问题。根据指针移动方向,可分为同向双指针、相向双指针和快慢指针。同向双指针如移动零和复写零问题;快慢指针如快乐数问题;相向双指针如盛水最多的容器、有效三角形数量及多数之和等问题。通过合理运用双指针技巧,可简化代码并提高效率。
83 4
|
3月前
【LeetCode 03】双指针法总结
【LeetCode 03】双指针法总结
23 0
|
5月前
|
算法 容器
【算法】双指针
【算法】双指针
|
8月前
|
算法
双指针算法(二)
双指针算法(二)
双指针算法(二)
|
8月前
|
存储 算法 Java
【算法系列篇】双指针
【算法系列篇】双指针
|
8月前
|
算法 测试技术 C#
[二分查找双指针]LeetCode881: 救生艇
[二分查找双指针]LeetCode881: 救生艇
|
8月前
[leetcode 双指针]
[leetcode 双指针]