55. 右旋字符串(第八期模拟笔试)

news2024/12/26 12:17:32

55. 右旋字符串(第八期模拟笔试)

  • 原题链接:
  • 完成情况:
  • 解题思路:
  • 参考代码:
  • 错误经验吸取

原题链接:

55. 右旋字符串(第八期模拟笔试)

https://kamacoder.com/problempage.php?pid=1065

完成情况:

在这里插入图片描述

解题思路:

		     * 给定一个字符串 s 和一个正整数 k
		     *将字符串中的后面 k 个字符移到字符串的前面
		     *
		     * 即所有元素当做一个环,输入k,则所有元素向右移动k个位置
		     *
		     * 数据范围:
		     * 1 <= k < 10000,
		     * 1 <= s.length < 10000;
		     *
		     *
		     * @param s
		     * @param k



	        解题思路:
	            将所有数存储在一个数组中,然后通过取模运算,构造出一个循环数组
	            然后也没有空间要求,就可以再构造一个辅助空间,来搞快点

参考代码:

package 代码随想录.栈与队列.__55;

import java.util.Scanner;

public class 右旋字符串_第八期模拟笔试 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        scanner.nextLine();
        String s = scanner.nextLine();
        System.out.println(rightRotateString(s, n));
    }

    /**
     * 给定一个字符串 s 和一个正整数 k
     *将字符串中的后面 k 个字符移到字符串的前面
     *
     * 即所有元素当做一个环,输入k,则所有元素向右移动k个位置
     *
     * 数据范围:
     * 1 <= k < 10000,
     * 1 <= s.length < 10000;
     *
     *
     * @param s
     * @param k
     */
    private static String rightRotateString(String s, int k) {
        /*
        解题思路:
            将所有数存储在一个数组中,然后通过取模运算,构造出一个循环数组
            然后也没有空间要求,就可以再构造一个辅助空间,来搞快点
         */
        char [] arr = new char[s.length()];
        for (int i = 0; i < s.length(); i++) {
            arr[i] = s.charAt((i-k+s.length())% s.length());
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            sb.append(arr[i]);
        }
        //System.out.println("傻逼?");
        //System.out.println(sb.toString());
        return sb.toString();
    }
}

错误经验吸取

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

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

相关文章

光刻掩膜版怎么制作的?

光掩膜版基本上是 IC 设计的“主模板”。掩模版有不同的尺寸。常见尺寸为 6 x 6 英寸一般的掩膜版由石英或玻璃基板组成。光掩膜版涂有不透明薄膜。更复杂的掩模版使用其他材料。 一般来说&#xff0c;术语“photo mask”用于描述与 1X 步进机或光刻系统一起使用的“主模板”。…

nodejs nvm 环境安装踩坑记录--google镜像chatgpt

nvm-win10 nvm : Node Version Manager : 解决版本匹配问题 nvm-windows 安装nvm-windows 安装完nvm-setup.exe后&#xff0c;以管理员权限重新开一个powershell窗口执行以下命令&#xff1a;&#xff08;否则会报错命令找不到&#xff0c;因为刚刚的nvm-setup.exe更新了系统PA…

ros1 基础学习04- 自定义Publisher消息编程实现示例

整理步骤 cd进入工作空间下的代码空间, 创建功能包&#xff0c;并配置依赖 在功能包里面的代码空间里编写C代码文件 在cmakelist文件里面配置编译规则 cd到工作空间&#xff0c;编译工作空间&#xff0c;source设置环境变量 打开roscore, 运行海龟仿真节点&#xff0c;运行功能…

U-Mail邮箱系统,政务邮箱国产化改造优质之选

近年来&#xff0c;我国电子政务进入了全面铺开快速发展的阶段&#xff0c;政府机构的信息化管理能力也大幅提升。但是&#xff0c;随着国际形势的新变化&#xff0c;国家主管部门陆续出台相关政策&#xff0c;全面指导并要求政府机构落实国产化信息技术建设。因此&#xff0c;…

asp.net学院网上报销系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net学院网上报销系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言 开发 asp.net学院网上报销系统 应用技术…

C++入门 1——命名空间,缺省参数

C入门 一.前言二.命名空间2.1命名空间的定义2.2命名空间的使用 三.C的输入&输出四.缺省参数4.1概念4.2缺省分类 五.函数重载5.1概念5.2函数重载条件及代码 六.引用6.1概念6.2引用特性6.3常引用6.4使用6.5引用和指针的区别和联系 七.内联函数7.1概念7.2特性 一.前言 今天就…

[C++ ]:7.内存管理+模板引入。

内存管理模板引入 一.内存管理&#xff1a;1.内存区域划分图&#xff1a;2.区域划分实例&#xff1a;3.C 内存管理方式&#xff1a;newdelete4.自定义类型的new和delete&#xff1a;一.简单类&#xff1a;二.日期类&#xff1a;三.栈类&#xff1a;四.队列类&#xff08;栈实现…

KT6368A蓝牙芯片的距离天线周围的匹配元器件LC,能增加距离吗

一、简介 KT6368A蓝牙芯片的距离&#xff0c;以及天线周围的元器件&#xff0c;电感和电容&#xff0c;添加上去是否可以增加距离&#xff1f; 详细描述 关于蓝牙芯片的rf性能&#xff0c;也就是距离&#xff0c;其实中规中矩吧&#xff0c;但是达到20米还很简单的&#xff…

git02->gui图形化界面使用,ssh协议,idea集成GIT

gui图形化界面使用ssh协议idea集成GIT 1.gui图形化界面使用 2.ssh协议 git/github生成密钥并通过 操作分为本地电脑配置和github网站配置 第一步&#xff1a;本地电脑配置 右键空白处&#xff0c;选择Git Bash Here打开相关命令窗口 1.配置用户名和邮箱&#xff08;如果已经配…

jenkins通知

构建失败邮件通知 配置自己的邮箱 配置邮件服务&#xff0c;密码是授权码 添加构建后操作 扩展 配置流水线 添加扩展 钉钉通知 Jenkins安装钉钉插件 钉钉添加机器人 加签 https://oapi.dingtalk.com/robot/send?access_token98437f84ffb6cd64fa2d7698ef44191d49a11…

对于线程的收尾

一)对于synchronized的锁策略: synchronzed是一个自适应的锁&#xff0c;应该根据具体情况来决定选取那种锁策略&#xff1b; 1)synchronized既是一个乐观锁又是一个悲观锁&#xff0c;一开始是一个乐观锁&#xff0c;但是如果发现锁冲突的概率比较高&#xff0c;就会自动转化成…

华为防火墙双机热备主备备份和负载分担配置案例(两端为路由跑ospf)

FW1 hrp enable hrp interface GigabitEthernet1/0/2 remote 172.16.0.2 hrp ospf-cost adjust-enable 这条命令会自动把主设备standby的ospf的值调整为65000&#xff0c;再加上原来的默认cost开销值&#xff0c;如果是active则cost值不调整&#xff0c;为默认开销值。 interf…

为什么继电器上会有多组电压/电流标识

问题 玩过继电器的朋友一定会注意到这么一个细节&#xff0c;大部分的继电器上&#xff0c;都会标有多组电压电流参数&#xff0c;就比如下面的继电器&#xff0c;一共有三组电气参数&#xff1a; 10A 250V AC &#xff08;250V交流情况下&#xff0c;最大电流10A&#xff09;…

为什么单片机内不继承晶振

一、晶振是什么&#xff1f;有什么作用&#xff1f; 晶振&#xff08;Crystal Oscillator&#xff09;是一种基于晶体材料的振荡器&#xff0c;用于提供稳定的振荡信号。晶体是一种可通过机械振动在电场作用下产生相应电压的物质。晶振由晶体与电路共同组成&#xff0c;晶体负责…

Labview利用声卡捕获波形

一般的计算机上自带的声卡&#xff0c;均既有A/D功能&#xff0c;又有D/A功能&#xff0c;就是一款具备基本配置的数据采集卡&#xff0c;并且技术成熟&#xff0c;性能稳定。 后台如下&#xff1a;

java命令行中文乱码原理和解决方式

今天发现用命令行javac编译文件时&#xff0c;若文件里有中文的话&#xff0c;可能会因为“源文件和javac编译使用的编码方式不同”导致乱码的产生&#xff0c;一般我的源文件用的是utf-8编码&#xff0c;但今天查资料发现javac默认使用系统的GBK编码方式&#xff0c;会出现乱码…

基于ubuntu 22, jdk 8x64搭建图数据库环境 hugegraph--google镜像chatgpt

基于ubuntu 22, jdk 8x64搭建图数据库环境 hugegraph download 环境 uname -a #Linux whiltez 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64 x86_64 x86_64 GNU/Linuxwhich javac #/adoptopen-jdk8u332-b09/bin/javac which java #/adoptopen-jdk8u33…

Leetcode刷题详解——电话号码的字母组合

1. 题目链接&#xff1a;17. 电话号码的字母组合 2. 题目描述&#xff1a; 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。…

信通院发布的 “信息系统稳定性保障能力建设指南” 有点干货

刚刚看了信息系统稳定性实验室、中国信息通信研究院云计算与大数据研究所联合发布的 信息系统稳定性保障能力建设指南&#xff0c;感觉还是有点干货的。 节选如下&#xff1a; 概括的比较全 关键指标 行业案例 免费在线阅读和下载地址&#xff1a;信息系统稳定性保障能力建设指…

strerror函数详解之【错误码探秘】

目录 一&#xff0c;strerror函数简介 二&#xff0c;strerror函数的基本用法 三&#xff0c;errno变量 一&#xff0c;strerror函数简介 当程序出现错误时&#xff0c;了解错误的具体信息对于调试和修复问题至关重要。在C语言中&#xff0c;我们可以使用strerror函数来获取…