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;
    }
};
相关推荐
嘻嘻哈哈樱桃5 分钟前
牛客经典101题题解集--二叉树
java·数据结构·python·算法·leetcode·职场和发展
6Hzlia7 分钟前
【Hot 100 刷题计划】 LeetCode 98. 验证二叉搜索树 | C++ 指针边界法
c++·算法·leetcode
AI科技星16 分钟前
算子数学|独立完整学科章节(百条原创公式· ROOT传世定稿)
大数据·算法·机器学习·数学建模·数据挖掘·量子计算
斯维赤24 分钟前
每天学习一个小算法:堆排序
学习·算法·排序算法
ncj39343790629 分钟前
Canvas 图形开发高频算法面试题
算法·canvas
MediaTea31 分钟前
AI 术语通俗词典:F1 值(分类)
人工智能·算法·机器学习·分类·数据挖掘
踩坑记录31 分钟前
leetcode hot100 300. 最长递增子序列 medium 动态规划
leetcode·动态规划
望舒32942 分钟前
KMP算法
数据结构·算法
潇楠Web3哨兵1 小时前
桌面级Web3交易终端的底层炼狱:自研多源报价引擎、移除重型依赖、跨进程钱包桥接与强制安全拦截
算法·web3
贾斯汀玛尔斯1 小时前
每天学一个算法--回溯算法(Backtracking)
算法