華為OD機試-5鍵鍵盤的輸出

?題目描述


【5鍵鍵盤的輸出】有一個特殊的 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五個鍵的輸入,數字用空格分隔
輸出描述:
輸出一個數字,為最終屏目上字母的數量。
示例:
輸入
111
輸出
3

代碼實現

# coding:utf-8class Solution:def keyBoard(self, s):screen = ''clip = ''selected = Falsefor i in s:if i == '1' and not selected:screen += 'a'elif i == '1' and selected:screen = 'a'selected = Falseelif i == '2' and selected and screen:clip = screenelif i == '3' and selected and screen:clip = screenscreen = ''selected = Falseelif i == '4' and selected:screen += clipselected = Falseelif i == '5' and screen:selected = Truereturn len(screen)if __name__ == '__main__':s = input("input:")solution = Solution()print(solution.keyBoard(s))

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38404.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38404.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38404.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HTML是什么?

HTML是什么? 超文本標記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用于創建網頁的標準標記語言。 您可以使用 HTML 來建立自己的 WEB 站點,HTML 運行在瀏覽器上,由瀏覽器…

【業務功能篇63】Springboot聊聊 過濾器和攔截器

過濾器的場景:過濾器通常用于對數據或資源進行篩選、修改或轉換的場景。例如,在一個電子商務網站中,用戶進行商品搜索時,你可以使用過濾器來過濾特定的商品類別、價格范圍或其他條件,以便用戶僅看到符合篩選條件的結果…

人工智能時代的科學探索 | 《自然》評述

人工智能(AI)正越來越多地融入科學發現,以增強和加速研究,幫助科學家提出假設、設計實驗、收集和解釋大型數據集,并獲得僅靠傳統科學方法可能無法實現的洞察力。 過去十年間,AI取得了巨大的突破。其中就包括自監督學習和幾何深度學…

手機的發展歷史

目錄 一.人類的通信方式變化 二.手機對人類通信的影響 三.手機的發展過程 四.手機對現代人的影響 一.人類的通信方式變化 人類通信方式的變化是一個非常廣泛和復雜的話題,隨著技術的進步和社會的發展,人類通信方式發生了許多重大的變化。下面是一些主…

go mod使用最新提交依賴

例如一個項目在其中依賴了 github.com/linuxsuren/go-fake-runtime v0.0.1 go.mod內容: github.com/linuxsuren/go-fake-runtime v0.0.1 修改了github.com/linuxsuren/go-fake-runtime代碼,存在一個最新的commit hash值為25fa814c6232e545f5bce03bd…

【opencv】指定寬或高按比例縮放圖片 拼接圖片

指定寬或高按比例縮放圖片 import cv2def resize_by_ratio(image, widthNone, heightNone, intercv2.INTER_AREA):img_new_size None(h, w) image.shape[:2] # 獲得高度和寬度if width is None and height is None: # 如果輸入的寬度和高度都為空return image # 直接返回原圖…

應用程序運行報錯:First section must be [net] or [network]:No such file or directory

應用程序報錯環境: 在linux下,調用darknet訓練的模型,報錯:First section must be [net] or [network]:No such file or directory,并提示:"./src/utils.c:256: error: Assertion 0 failed." 如…

百日筑基篇——Pandas學習三(pyhton入門八)

百日筑基篇——Pandas學習三(pyhton入門八) 文章目錄 前言一、數據排序二、字符串處理三、數據合并方法1. merge方法2. concat方法 四、分組數據統計五、數據重塑1. stack2. pivot 總結 前言 上一篇文章介紹了一下pandas庫中的一些函數,而本…

MySQL數據類型

文章目錄 MySQL數據類型1. 數據類型分類2. 數值類型2.1 tinyint類型2.2 bit類型2.3 小數類型2.3.1 float2.3.2 decimal 2.4 字符串類型2.4.1 char2.4.2 varchar2.4.3 char和varchar比較 2.5 日期和時間類型2.6 enum和set MySQL數據類型 1. 數據類型分類 紅色標注是我主要講解…

【QT】 QFileQFileInfo文件操作

很高興在雪易的CSDN遇見你 ,給你糖糖 歡迎大家加入雪易社區-CSDN社區云 前言 本文分享QT對文件的操作技術,希望對各位小伙伴有所幫助! 感謝各位小伙伴的點贊關注,小易會繼續努力分享,一起進步! 你的點…

linux中profile.d和profile的區別

profile.d在profile中加載 profile文件 PATH"/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/scripts:/soc/bin:/soc/scripts" LD_LIBRARY_PATH"/usr/local/lib:/usr/lib:/opt/lib:/soc/lib" export SSL_LDPATH/usr/local/lib/ export ZLIB_LDPATH/usr/lo…

appium默認60秒關閉應用的問題

問題:appium默認啟動一個應用的session過期時間是60秒到時間會自動停了剛啟動的應用,工作臺打印:info: [debug] We shut down because no new commands came in的日志 分析:--command-timeout 60 The default command timeout fo…

商城-學習整理-高級-全文檢索-ES(九)

目錄 一、ES簡介1、網址2、基本概念1、Index(索引)2、Type(類型)3、Document(文檔)4、倒排索引機制4.1 正向索引和倒排索引4.2 正向索引4.3 倒排索引 3、相關軟件及下載地址3.1 Kibana簡介3.2 logstash簡介…

【C++深入淺出】初識C++上篇(關鍵字,命名空間,輸入輸出,缺省參數,函數重載)

目錄 一. 前言 二. 什么是C 三. C關鍵字初探 四. 命名空間 4.1 為什么要引入命名空間 4.2 命名空間的定義 4.3 命名空間使用 五. C的輸入輸出 六. 缺省參數 6.1 缺省參數的概念 6.2 缺省參數的分類 七. 函數重載 7.1 函數重載的概念 7.2 函數重載的條件 7.3 C支…

ChatGPT在智能家居控制和環境管理中的應用如何?

智能家居控制和環境管理是近年來在科技領域迅速發展的重要領域之一。智能家居技術通過將物聯網、人工智能和自動化技術相結合,實現了家居設備的智能化、自動化控制和遠程管理。ChatGPT作為強大的自然語言處理模型,在智能家居控制和環境管理方面具有廣泛的…

軟件測試項目實戰,電商業務功能測試點匯總(全覆蓋)

目錄:導讀 前言一、Python編程入門到精通二、接口自動化項目實戰三、Web自動化項目實戰四、App自動化項目實戰五、一線大廠簡歷六、測試開發DevOps體系七、常用自動化測試工具八、JMeter性能測試九、總結(尾部小驚喜) 前言 支付功能怎么測試…

Spring--BeanFactory和FactoryBean區別

BeanFactory 和 FactoryBean 是 Spring 框架中兩個不同的概念,它們在對象的管理和創建過程中具有不同的角色和功能。下面是它們之間的區別: BeanFactory: BeanFactory 是 Spring 框架的核心接口之一,它是一個對象容器&#xff0c…

C語言刷題訓練【第11天】

大家好,我是紀寧。 今天是C語言筆試刷題訓練的第11天,加油! 文章目錄 1、聲明以下變量,則表達式: ch/i (f*d – i) 的結果類型為( )2、關于代碼的說法正確的是( )3、已知有如下各變…

使用 Visual Studio GoogleTest編寫 C/C++ 單元測試——入門篇

入門教程 Visual Studio 新建 GoogleTest項目,一路選默認參數 pch.h #pragma once#include "gtest/gtest.h"int add(int a, int b);pch.cpp #include "pch.h"int add(int a, int b) {return a b; }test.cpp #include "pch.h"TES…

【廣州華銳視點】AR電力職業技能培訓系統讓技能學習更“智慧”

隨著科技的發展,教育方式也在不斷地進步和創新。其中,增強現實(AR)技術的出現,為教育領域帶來了全新的可能。AR電力職業技能培訓系統就是這種創新教學方法的完美實踐,它將虛擬與現實相結合,為學生提供了一個沉浸式的學…