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;
    }
};
相关推荐
code04号27 分钟前
图论:三维搜索
算法·图论
code04号31 分钟前
图论:Tarjan算法的使用,找连通分量、割点、桥
算法·图论
ExRoc35 分钟前
蓝桥杯真题 - 魔法阵 - 题解
c++·算法·蓝桥杯
夜泉_ly1 小时前
算法 -归并排序
算法
玖石书1 小时前
[c++]Linux平台下的动态库加载技术详解
linux·c++·算法
SsummerC2 小时前
【leetcode100】二叉树的直径
数据结构·python·算法·leetcode
奔跑de自由2 小时前
解锁 C 语言字符函数密码,开启高效编程之路
c语言·开发语言·算法
Ritsu栗子3 小时前
代码随想录算法训练营day23
c++·算法
~糖炒栗子~3 小时前
[Day 12]904.水果成篮
数据结构·c++·算法·leetcode
Adunn3 小时前
算法基础 - 二分查找
数据结构·c++·算法