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;
    }
};
相关推荐
gihigo19988 小时前
MATLAB使用遗传算法解决车间资源分配动态调度问题
算法·matlab
墨染点香9 小时前
LeetCode 刷题【138. 随机链表的复制】
算法·leetcode·链表
却道天凉_好个秋9 小时前
目标检测算法与原理(一):迁移学习
算法·目标检测·迁移学习
兮山与10 小时前
算法24.0
算法
晓北斗NorSnow10 小时前
机器学习核心算法与学习资源解析
学习·算法·机器学习
hans汉斯11 小时前
【计算机科学与应用】基于BERT与DeepSeek大模型的智能舆论监控系统设计
大数据·人工智能·深度学习·算法·自然语言处理·bert·去噪
多喝开水少熬夜12 小时前
损失函数系列:focal-Dice-vgg
图像处理·python·算法·大模型·llm
立志成为大牛的小牛12 小时前
数据结构——三十七、关键路径(王道408)
数据结构·笔记·程序人生·考研·算法
ytttr87312 小时前
基于MATLAB的Relief算法特征权重选择实现
算法