【leetCode】2810. 故障键盘

文章目录

    • [2810. 故障键盘](https://leetcode.cn/problems/faulty-keyboard/)
          • 思路一:模拟
          • 代码:
          • 思路二:双端队列
          • 代码:


2810. 故障键盘

在这里插入图片描述

思路一:模拟
  • 用StringBuilder来拼贴字符
  • 遍历字符串,如果遇到i,对拼贴好的进行逆置
  • 否则,进行拼贴
  • 最终返回字符串类型
代码:
   // 2810. 故障键盘public String finalString(String s) {StringBuilder sb = new StringBuilder();for (char x : s.toCharArray()) {if (x == 'i') {sb.reverse();} else {sb.append(x);}}return sb.toString();}
思路二:双端队列
  • 调用双端队列
  • 如果遇到i,需要进行逆置,相当于进行头插法,改变标记
  • 没遇到i,并且标记为真,进行尾插法
  • 最后检查是否需要逆置
代码:
    public String finalString(String s) {// 双端队列Deque<Character> deque = new ArrayDeque<>();StringBuilder sb = new StringBuilder();boolean flg = true;for (char x : s.toCharArray()) {if (x == 'i') {flg = !flg;//碰到i,进行逆置//再次碰到i,反过耒} else if (flg) {//如果为真,添加到队尾deque.addLast(x);}else {//x不等于i,并且由于前一个是i,发生逆转// 相当于添加到队头deque.addFirst(x);}}for (char c:deque) {sb.append(c);}if (!flg){sb.reverse();}return sb.toString();}

点击移步博客主页,欢迎光临~

偷cyk的图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/798051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LintCode】448 · 二叉查找树的中序后继

题目 描述 给定一个二叉查找树(什么是二叉查找树),以及一个节点,求该节点在中序遍历的后继,如果没有则返回 null。 保证 p 是给定二叉树中的一个节点。(您可以直接通过内存地址找到 p) 样例 样例1: 输入: {1,#,2}, node with value 1 输出: 2 解释: 1\2样例2: 输入…

男人圣经 9

男人圣经 9 消费生活 VS 生产生活消费爱情 VS 生产爱情 消费生活 VS 生产生活 消费主义在诱导大众&#xff0c;令他们追求非自己之所需&#xff0c;借贷消费、追逐梦幻之物&#xff0c;而后自豪于此。这一切&#xff0c;尽管对于他们的人生毫无增益&#xff0c;令他们日益贫困…

注解,自定义注解和元注解

1.注解 1.1.注解概述、作用 注解&#xff08;Annotation&#xff09;&#xff0c;也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性&#xff0c;与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面&#xff0…

《深入浅出多模态》:多模态经典模型CLIP

🎉AI学习星球推荐: GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学习资料,配有全面而有深度的专栏内容,包括不限于 前沿论文解读、资料共享、行业最新动态以、实践教程、求职…

逆向案例14——cnki学术翻译AES加密分析,涉及保持会话和获取token值

python代码&#xff1a; import execjs import requests UA "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" token_url "https://dict.cnki.net/fyzs-front-api/getToken" url …

面试算法-140-三数之和

题目 nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元组。 示例 1&#xff1a; 输入&#xff1a;nums [-1,0,1,2,-1,-4] 输出&#xf…

图像分割-RSPrompter

文章目录 前言1. 自动化提示器1.1 多尺度特征增强器1.2 RSPrompterAnchor-based PrompterQuery-based Prompter 2. SAM的扩展3. 结果WHU数据集NWPU数据集SSDD数据集 前言 《RSPrompter: Learning to prompt for remote sensing instance segmentation based on visual foundati…

Linux操作系统之docker基础

目录 一、docker 1.1 简介 1.2 安装配置docker 二、dockerfile 1.1、简介 1.2、dockerfile 关键字 一、docker 1.1 简介 容器技术 容器其实就是虚拟机&#xff0c;每个容器可以运行不同的系统【系统是以linux为主的】 为什么要使用docker&#xff1f; docker容器之间相互隔…

一文读懂Memory consistency model (内存模型)

Memory consistency model又称Memory model (内存模型)&#xff0c;定义了使用Shared memory(共享内存)执行多线程(Multithread)程序所允许的行为规范。Memory model定义了软硬件接口规范&#xff0c;以便程序员预料硬件会有什么行为&#xff0c;而硬件实现者知道可以使用什么样…

MySQL面试题系列-9

MySQL是一个关系型数据库管理系统&#xff0c;由瑞典 MySQL AB 公司开发&#xff0c;属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用方面&#xff0c;MySQL是最好的RDBMS (Relational Database Management System&#xff0c;关系数据…

牛客NC181 单词拆分(一)【中等 动态规划,前缀树 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/c0d32c1ce5744472a01b2351a2c2767f 思路 前缀树动态规划参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规…

GO并发总是更快吗?

许多开发人员的一个误解是,并发解决方案总是比串行更快,大错特错。解决方案的整体性能取决于许多因素,例如,结构的效率(并发)、可以并行处理的部分以及计算单元的竞争程度。 1. GO调度 线程是操作系统可以执行的最小单元。如果一个进程想要同时执行多个动作,它可以启动…

LeetCode 264 丑数II

题目信息 LeetoCode地址: . - 力扣&#xff08;LeetCode&#xff09; 题目理解 所谓丑数就是满足: (2^x)*(3^y)*(5^z), 其中,x,y,z > 0的数。 题目要求的是求严格递增的第n个丑数。 最小堆写法 可以维护一个小顶堆&#xff0c;每一次拿出堆顶元素&#xff0c;然后分别…

OpenCV4.9处理平滑图像

返回&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;使用OpenCV4.9的随机生成器和文本 下一篇&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 目标 在本教程中&#xff0c;您将学习如何使用 OpenCV …

助力瓷砖生产智造,基于YOLOv5全系列参数【n/s/m/l/x】模型开发构建瓷砖生产制造场景下1280尺寸瓷砖表面瑕疵检测识别系统

砖生产环节一般经过原材料混合研磨、脱水、压胚、喷墨印花、淋釉、烧制、抛光&#xff0c;最后进行质量检测和包装。得益于产业自动化的发展&#xff0c;目前生产环节已基本实现无人化。而质量检测环节仍大量依赖人工完成。一般来说&#xff0c;一条产线需要配数名质检工&#…

【三十三】【算法分析与设计】回溯(1),46. 全排列,78. 子集,没有树结构,但是依旧模拟树结构,回溯,利用全局变量+递归函数模拟树结构

46. 全排列 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1&#xff0c;2&#xff0c;3] 输出&#xff1a;[[1&#xff0c;2&#xff0c;3]&#xff0c;[1&#xff0c;3&a…

【C++】C++ primer plus 第七、八章--函数

函数指针 使用typedef声明函数指针 typedef const double* (*p)(const double*, int);const double* func1(const double* a, int b){auto *c = new(double);*c = *a * b;return c; } // p则可以作为函数指针类型 p f = func1; 内联函数 使用关键字inline声明,在编译过程中…

缺陷检测项目 | 使用OpenCV实现纺织品表面缺陷检测

项目应用场景 面向纺织品表面缺陷检测场景&#xff0c;使用 OpenCV 来实现&#xff0c;因此无需深度学习复杂的训练流程&#xff0c;实现起来会更加便捷。 项目效果&#xff1a; 项目细节 > 具体参见项目 README.md 项目采用 VisualStudio C# 开发&#xff0c;所以用 Visua…

详解SPWM与SVPWM的原理、算法以及两者的区别

详解SPWM与SVPWM的原理、算法以及两者的区别 1、SPWM与SVPWM 2、SPWM与SVPWM的原理 2.1 SPWM原理 2.2 SVPWM原理 3、SPWM与SVPWM的算法 3.1 SPWM算法 3.2 SVPWM 算法 4、SPWM和SVPWM的对比 5、总结 1、SPWM与SVPWM 所谓SPWM,就是在PWM的基础上改变了调制脉冲方式,…

AcWing---转圈游戏---快速幂

太久没写快速幂了... 这是一道数学题orz&#xff0c;能看出来的话答案就是 &#xff0c;但是很大&#xff0c;同时还要mod n&#xff0c;直接用快速幂即可。 快速幂模版&#xff1a; long long int power(long long int a,long long int b,long long int mod){long long int r…