【拒绝算法PUA】3019. 按键变更的次数

系列文章目录

【拒绝算法PUA】0x00-位运算
【拒绝算法PUA】0x01- 区间比较技巧
【拒绝算法PUA】0x02- 区间合并技巧
【拒绝算法PUA】0x03 - LeetCode 排序类型刷题
【拒绝算法PUA】LeetCode每日一题系列刷题汇总-2025年持续刷新中

C++刷题技巧总结:
[温习C/C++]0x04 刷题基础编码技巧



LeetCode 3019. 按键变更的次数

链接

3019. 按键变更的次数

题目

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

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

注意:shift 或 caps 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' ,不需要进行按键变更。
 

提示:

1 <= s.length <= 100
s 仅由英文大写字母和小写字母组成。

解题方法1

#include <iostream>
#include <string>

using namespace std;

class Solution {
public:
    int countKeyChanges(string s)
    {
        if (s.empty()) {
            return 0;
        }

        char prev = s[0]; // 这里也是关键点,将首个字符作为prev
        int res = 0;
        for (int i = 1; i < s.size(); i++) { //  i = 1 这里是关键点
            char lower = tolower(prev);
            char upper = toupper(prev);
            if (s[i] != lower && s[i] != upper) {
                prev = s[i];
                res++;
                continue;
            }
            prev = s[i];
        }
        return res;
    }
};

在这里插入图片描述

### 关于 PUA.MPE.BURDEN.A 的病毒类型、定义及特征 PUA.MPE.BURDEN.A 是一种潜在不需要的应用程序(Potentially Unwanted Application, 简称 PUA),通常与恶意软件或广告软件相关联。以下是关于该类型的详细描述: #### 类型 PUA.MPE.BURDEN.A 被分类为 **潜在不必要的应用程序**,这意味着它可能不会直接破坏系统功能,但会对用户体验造成负面影响[^4]。 #### 定义 此类病毒主要通过捆绑安装或其他隐蔽方式进入用户的计算机系统。它们可能会收集用户数据、显示侵入性广告或将流量重定向到不可信网站,从而影响设备性能和隐私安全[^5]。 #### 特征 1. **隐秘安装**: 用户往往在不知情的情况下下载并安装这些程序,通常是由于未仔细阅读软件许可协议中的附加组件说明。 2. **资源消耗高**: 运行时占用大量 CPU 和内存资源,可能导致系统变慢甚至崩溃。 3. **弹窗广告频繁**: 显示大量的商业推广信息干扰正常操作体验。 4. **跟踪活动**: 可能记录浏览习惯和其他个人行为用于精准营销目的;某些情况下还涉及更深层次的数据窃取行为违反隐私权规定[^6]。 对于防范措施方面建议定期更新防病毒软件数据库保持最新状态以便及时检测清除威胁源;同时谨慎对待来自未知发件人的邮件附件链接以及第三方应用商店外的产品下载请求以降低感染几率。 ```python import os from antivirus_api import scan_file def check_virus(file_path): result = scan_file(file_path) if 'PUA.MPE.BURDEN.A' in result['threats']: print(f"The file {file_path} is infected with PUA.MPE.BURDEN.A.") else: print(f"No threat detected in the file {file_path}.") # Example usage check_virus('/path/to/suspicious/file.exe') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值