【华为面试基础题】5键键盘的输出

两个月搞定面试算法【小白leetcode刷训练】【python专场】 前言 刷顺序来自极客时间,共分为8个专,每周1个,两个月认真刷完基本大厂面试OK(我说的是认真刷!只抄解不算)。截止到博主结束秋招时只刷到第5个专,也基本够用了。也就是说认真刷的话一个月就可以有offer入手了。 当然现在BAT的笔试做起来还是觉得费力,笔试是真的难啊! 博主是python选手,解都是python写的。有问欢迎交流,共同进步。 文章内附leetcode链接,直接点链接去做就行。同类型的尽量整理到一起了,也方便自己今后复习。 推荐五遍刷法 1、读+思考,10分钟内没思路,直接 阅读详情

描述

有一个特殊的 5键键盘,上面有 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键。
a键在屏幕上输出一个字母 a;
ctrl-c将当前选择的字母复制到剪贴板;
ctrl-x将当前选择的 字母复制到剪贴板,并清空选择的字母;
ctrl-v将当前剪贴板里的字母输出到屏幕;
ctrl-a 选择当前屏幕上所有字母。
注意:
1、剪贴板初始为空,新的内容被复制到剪贴板时会覆盖原来的内容
2、当屏幕上没有字母时,ctrl-a无效
3、当没有选择字母时,ctrl-c和 ctrl-x无效
4、当有字母被选择时,a和ctrl-v这两个有输出功能的键会先清空选择的字母,再进行输出
给定一系列键盘输入,输出最终屏幕上字母的数量。

输入描述:
输入为一行,为简化解析,用数字 12345代表 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键的输入,数字用空格分隔

输出描述:
输出一个数字,为最终屏目上字母的数量。

示例1

输入: 111
输出: 3

def count_letters(input_str):
    letters = ''
    clipboard = ''
    selected = False

    for key in input_str:
        if key == '1':
            if selected:
                letters = 'a'
            else:
                letters += 'a'
        elif key == '2' and selected: #ctrl-c
            clipboard = letters
            selected = False
        elif key == '3' and selected: #ctrl-x
            clipboard = letters
            selected = False
            letters = ''
        elif key == '4': #ctrl-v
            letters += clipboard
            clipboard = ''
        elif key == '5' and letters: #ctrl-a
            selected = True
    return len(letters)

print(count_letters(input()))
5键盘输出 注意!答案仅作为参考(实际考试中下列代码通过用例100%,但不代表最优解) 有一个特殊的五键盘 上面有A、Ctrl-C、Ctrl-X、Ctrl-V、Ctrl-A A在屏幕上输出一个字母A Ctrl-C将当前所选的字母复制到剪贴板 Ctrl-X将当前选择的字母复制到剪贴板并清空所选择的字母 Ctrl-V将当前剪贴板的字母输出到屏幕 Ctrl-A选择当前屏幕中所有字母 注意: 1. 剪贴板初始为空 2. 新的内容复制到剪贴板会覆盖原有内容 3. 当屏幕中没有字母时,Ctrl-A无效 4. 当没有选择字母时C 阅读详情

相关推荐

华为od机考真-五键盘输出

华为od机考

VAN 678

华为机试源码

本资源为华为近年招聘上机考,程序可以直接运行,是不可多得好资料,想去华为的同学一定要看看

华为OD机试(JS,C++,JAVA,PYTHON)-5键盘

目中没有准确说明 选择状态 何时被解除,比如我ctrl-a全选所有字母时,然后ctrl-c将选择的字母复制到剪贴板,那么此时屏幕中字母的选中状态是保留还是清除呢?有一个特殊的5键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个。输入两个a后ctrl-a选择这两个a,再输入a时选择的两个a先被清空,所以此时屏幕只有一个a,后续的ctrl-a,ctrl-c选择并复制了这一个a,最后两个ctrl-v在屏幕上输出两个a,ctrl-x将当前选择的字母复制到剪贴板,并清空选择的字母;

qznjj6的博客 286

5键盘输出 - 华为OD统一考试 > OD统一考试

在数字化时代,企业面临着海量的数据和复杂的业务需求,对于低代码表单的需求也逐渐增加,低代码表单可以提高企业的业务处理效率,还可以降低开发成本,缩短开发周期。如,某市国企的子公司的子公司,三级子公司是宜宾当地的制造业,国企应该算当地头部国企,二级子公司是99%控股,三级子公司是二级子公司的50%控股以及其他三级子公。决赛圈了,华为给开了,周五线下签约给具体薪资,hr话术说薪资跟美团给我的价格差不多,多次保温,可以线下再谈薪资,应该是14级。2023年12月05日,电话oc,不是原base地,上海。

2301_79125642的博客 1066

5键盘输出笔记

/有一个特殊的5键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个。//输入两个a后ctrl-a选择这两个a,再输入a时选择的两个a先被清空,所以此时屏幕只有一个a,后续的ctrl-a,ctrl-c选择并复制了这一个a,//输入为一行,为简化解析,用数字1 2 3 4 5代表a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个的输入,数字用空格分隔。// 如果之前按下了 'ctrl-a'(全选),则清空当前屏幕上的内容,输出一个字母 'a'

weixin_48934989的博客 761

2023华为od统一考试B卷【5键盘Python 实现

有一个特殊的5键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个。a在屏幕上输出一个字母a;ctrl-c将当前选择的字母复制到剪贴板;ctrl-x将当前选择的字母复制到剪贴板,并清空选择的字母;ctrl-v将当前剪贴板里的字母输出到屏幕;ctrl-a选择当前屏幕上的所有字母。

MISAYAONE的博客 4829

华为机试真 Python实现】5键盘输出【2022 Q2|100】

华为机试真》专栏含牛客网华为专栏、华为面经试华为OD机试真。如果您在准备华为面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议!本文解法非最优解(即非性能最优)。有一个特殊的5键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个。 a在屏幕上输出一个字母a; ctrl-c将当前选择的字母复制到剪贴板; ctrl-x将当前选择的字母复制到剪贴板,并清空选择的字母; ctrl-v将当前剪贴板里的字母输出到屏幕; ctrl-a选择当前屏幕上的所有字母。注

2892

华为OD机试-5键盘输出(C++)

输入为一行,为简化解析,用数字 12345代表 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个的输入,数字用空格分隔。有一个特殊的 5键盘,上面有 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个。4、当有字母被选择时,a和ctrl-v这两个有输出功能的会先清空选择的字母,再进行输出。ctrl-x将当前选择的 字母复制到剪贴板,并清空选择的字母;3、当没有选择字母时,ctrl-c和 ctrl-x无效。ctrl-v将当前剪贴板里的字母输出到屏幕;

Christine_Marry的博客 286

华为OD机考2025C卷 - 5键盘(Java & Python& JS & C++ & C )

华为OD机考2025C卷 - 5键盘(OD上机考试2025年C卷)。提供在线OJ刷。Java、C++、Python、C语言、JavaScript解,并提供完整思路讲解。

算法大师! 2266

华为OD机试真 Golang语言】62、 5键盘 | 机试真+思路参考+代码解析

>有一个特殊的5键盘,上面有a,ctrl-c, ctrl-x, ctrl-v, ctrl-a五个。 >  a在屏幕上输出一个字母a; >  ctrl-c将当前选择的字母复制到剪贴板; >  ctrl-x将当前选择的字母复制到剪贴板,并清空选择的字母; >  ctrl-v将当前剪贴板里的字母输出到屏幕; >  ctrl- a选择当前屏幕上的所有字母。 >  注意: 1、剪贴板初始为空,新的内容被复制到剪贴板时会覆盖原来的内容 2、当屏幕上没有字

KJ.JK 1550

(C卷,100分)- 5键盘(Java & JS & Python

(C卷,100分)- 5键盘(Java & JS & Python

wbajsjhhhhh的博客 1748

华为OD机试 - 五键盘(JavaScript) | 机试+算法思路+考点+代码解析 【2023】

有一个特殊的五键盘上面有ACtrl-CCtrl-XCtrl-VCtrl-AA在屏幕上输出一个字母ACtrl-C将当前所选的字母复制到剪贴板Ctrl-X将当前选择的字母复制到剪贴板并清空所选择的字母Ctrl-V将当前剪贴板的字母输出到屏幕Ctrl-A选择当前屏幕中所有字母Ctrl-ACtrl-CCtrl-XACtrl-V给定一系列键盘输入,输出最终屏幕上字母的数量。

坚果的博客 1299
上一篇: 【华为面试基础题】数据分类
下一篇: 【华为面试基础题】检查是否存在满足条件的数字组合
Caviar_hhw
博客等级 码龄8年 200粉丝 26原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值