Leetcode::3019. 按键变更的次数

给你一个下标从0 开始的字符串 s ,该字符串由用户输入。按键变更的定义是:使用与上次使用的按键不同的键。例如 s = "ab" 表示按键变更一次,而 s = "bBBb" 不存在按键变更。

返回用户输入过程中按键变更的次数。

注意: shiftcaps lock 等修饰键不计入按键变更,也就是说,如果用户先输入字母 'a' 然后输入字母 'A' ,不算作按键变更。

示例 1:

复制代码
输入:s = "aAbBcC"
输出:2
解释: 
从 s[0] = 'a' 到 s[1] = 'A',不存在按键变更,因为不计入 caps lock 或 shift 。
从 s[1] = 'A' 到 s[2] = 'b',按键变更。
从 s[2] = 'b' 到 s[3] = 'B',不存在按键变更,因为不计入 caps lock 或 shift 。
从 s[3] = 'B' 到 s[4] = 'c',按键变更。
从 s[4] = 'c' 到 s[5] = 'C',不存在按键变更,因为不计入 caps lock 或 shift 。

示例 2:

复制代码
输入:s = "AaAaAaaA"
输出:0
解释: 不存在按键变更,因为这个过程中只按下字母 'a' 和 'A' ,不需要进行按键变更。
cpp 复制代码
class Solution {
public:
    int countKeyChanges(string s) {
        
        int k=0;
        for(int i=1;i<s.size();i++)
        {
            if(((s[i-1]-s[i])+32)%32!=0)
            {
                k++;
            }
        }

        return k;
    }
};
相关推荐
re林檎5 分钟前
算法札记——4.26
算法
tankeven19 分钟前
动态规划专题(10):最优三角剖分问题
c++·算法·动态规划
黑眼圈子23 分钟前
动态规划问题专项练习(未编辑完成...
学习·算法·动态规划
探物 AI25 分钟前
【感知·车道线检测】UFLDv2车道线检测与车道偏离预警(LDWS)实战
人工智能·算法·目标检测·计算机视觉
菜鸟丁小真28 分钟前
LeetCode hot100 -54.螺旋矩阵
算法·leetcode·矩阵·知识点总结
weixin_4684668537 分钟前
排列组合算法之隔板问题与错排公式
c++·算法·数学建模·排列组合·竞赛·错排·隔板
wsoz1 小时前
Leetcode链表-day9
c++·算法·leetcode·链表
Lumos_7771 小时前
Linux -- 系统调用
linux·运维·算法
一个行走的民1 小时前
深度剖析 Ceph PG 分裂机制:原理、底层、实操、影响、线上避坑(最全完整版)
ceph·算法
WolfGang0073211 小时前
代码随想录算法训练营 Day46 | 图论 part04
算法·图论