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

news/2024/5/19 23:20:14 标签: 链表, 数据结构, 推荐算法, 算法, 机器学习

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.niftyadmin.cn/n/5172334.html

相关文章

shell脚本实战案例---安全脚本

例题&#xff1a;自动化禁止恶意IP访问 应用场景&#xff1a;防止恶意IP尝试ssh登录。---暴力破解密码 脚本说明&#xff1a;将密码输入错误超过4次的IP地址通过iptables防火墙阻止访问。 目录 1.脚本分析&#xff1a; 【1】首先ssh登录之后&#xff0c;产生…

安哥拉市场开发攻略,收藏一篇就够了

安哥拉是非洲南部的一个国家&#xff0c;中国是安哥拉最大的贸易伙伴&#xff0c;安哥拉是中国在非洲的第二大贸易伙伴&#xff0c;中国人在安哥拉也是非常受欢迎的&#xff0c;虽然安哥拉经济比较落后&#xff0c;但是市场潜力还是非常不错的。今天就来给大家分享一下安哥拉的…

src/main/resources/fonts/songti.ttc not found as file or resource.

https://blog.csdn.net/Lewishhhh/article/details/122812272文章浏览阅读4.8k次&#xff0c;点赞2次&#xff0c;收藏7次。背景遇到个需求需要用Java导出PDF文件&#xff0c;权衡之下选择了iText&#xff0c;Java操作pdf的各个开源库之间的对比可以参考https://blog.csdn.net/…

【代码随想录】算法训练计划18

1、513. 找树左下角的值 题目&#xff1a; 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 思路&#xff1a; 递归&#xff0c;规则&#xff0c;基本可以自己写出来 var maxDepth int var res int fun…

32 Feign性能优化

2.3.Feign使用优化 Feign底层发起http请求&#xff0c;依赖于其它的框架。其底层客户端实现包括&#xff1a; •URLConnection&#xff1a;默认实现&#xff0c;不支持连接池 •Apache HttpClient &#xff1a;支持连接池 •OKHttp&#xff1a;支持连接池 因此提高Feign的…

Docker学习——⑥

文章目录 1、什么是存储卷?2、为什么需要存储卷?3、存储卷分类4、管理卷 Volume5、绑定卷 bind mount6、临时卷 tmpfs7、综合实战-MySQL 灾难恢复8、常见问题 1、什么是存储卷? 存储卷就是将宿主机的本地文件系统中存在的某个目录直接与容器内部的文件系统上的某一目录建立…

思维模型 超限效应

本系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。物极必反。 1 超限效应的应用 1.1 教育中的超限效应 一位老师在课堂上批评了一位学生&#xff0c;这位学生可能会因为老师的批评而感到沮丧和失落。如果老师在接下来的课程中继续批评这位…

耗时3年写了一本数据结构与算法pdf!开源了

前言 大家好&#xff0c;我是bigsai&#xff0c;很早就在写博客&#xff0c;我将csdn的文章整理成了一个pdf&#xff0c;并且开源到github上&#xff01; 自己写东西断断续续也不少时间了&#xff0c;也写了不少东西(虽然是偏向小白)&#xff0c;这个其实花费的时间还是比较多…