字符串04--左旋转字符串

2023-11-09

字符串04--左旋转字符串-jz43

题目概述

  • 算法说明
    汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
  • 测试用例
    输入:
    “abcXYZdef”,3
    返回值:
    “XYZdefabc”

解析&参考答案

  • 解析
    比较简单,直接先获取右边部分,然后在获取左边部分即可
  • 参考答案
vim jz43.go
package main

import "fmt"

func LeftRotateString(str string, n int) string {
	if str == "" {
		return str
	}
	n = n % len(str)
	return str[n:] + str[:n]
}

func main() {
	str := "abcXYZdef"
	n := 3
	result := LeftRotateString(str, n)
	fmt.Println(result)
}

注意事项

  1. to add

说明

  1. 当前使用 go1.15.8
  2. 参考 牛客网--剑指offer
    标题中jzn(n为具体数字)代表牛客网剑指offer系列第n号题目,例如 jz01 代表牛客网剑指offer中01号题目。

注意!!!

  • 笔者最近在学习 golang,因此趁机通过数据结构和算法来进一步熟悉下go语言
  • 当前算法主要来源于剑指 offer,后续会进一步补充 LeetCode 上重要算法,以及一些经典算法
  • 此处答案仅为参考,不一定是最优解,欢迎感兴趣的读者在评论区提供更优解
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串04--左旋转字符串 的相关文章

  • 白盒测试相关的一些知识

    在白盒测试中 可以使用各种测试方法进行测试 下面这篇文章 可能比较枯燥 如果不乐意读 可以先收藏 如果在你的工作中真遇到白盒测试的话 可以回过头再来看看 还是值得读一读 一般来说 白盒测试时要考虑以下5个问题 1 测试中尽量先用自动化工具来
  • 第二十八节、基于深度学习的目标检测算法的综述(附代码,并附有一些算法英文翻译文章链接))...

    在前面几节中 我们已经介绍了什么是目标检测 以及如何进行目标检测 还提及了滑动窗口 bounding box 以及IOU 非极大值抑制等概念 这里将会综述一下当前目标检测的研究成果 并对几个经典的目标检测算法进行概述 本文内容来自基于深度学
  • DDP入门

    DDP 即动态动态规划 可以用于解决一类带修改的DP问题 我们从一个比较简单的东西入手 最大子段和 带修改的最大子段和其实是常规问题了 经典的解决方法是用线段树维护从左 右开始的最大子段和和区间最大子段和 然后进行合并 现在我们换一种方法来
  • SDUT--OJ《数据结构与算法》实践能力专题训练6 图论

    A 数据结构实验之图论一 基于邻接矩阵的广度优先搜索遍历 Description 给定一个无向连通图 顶点编号从0到n 1 用广度优先搜索 BFS 遍历 输出从某个顶点出发的遍历序列 同一个结点的同层邻接点 节点编号小的优先遍历 Input
  • 手把手教你实现一个向量

    文章目录 什么是向量 向量提供哪些接口 实现 宏定义 定义类 成员变量 构造函数与析构函数 构造函数 析构函数 成员函数 size get r put r e expand insert r e remove lo hi remove r
  • 剑指 Offer 05. 替换空格(java+python)

    请实现一个函数 把字符串 s 中的每个空格替换成 20 示例 1 输入 s We are happy 输出 We 20are 20happy 限制 0 lt s 的长度 lt 10000 java StringBuilder StringB
  • 剑指Offer 22. 链表中倒数第k个节点(Easy)/ 19. 删除链表的倒数第 N 个结点(Medium)/ ListNode调用!!!

    LeetCode 19 删除链表的倒数第 N 个结点 Medium 题目链接 题解 链表中倒数第 k 个节点 双指针 清晰图解 思路 代码 Definition for singly linked list class ListNode d
  • 剑指 Offer 18. 删除链表的节点 -- 双指针

    0 题目描述 leetcode原题链接 剑指 Offer 18 删除链表的节点 1 双指针解法 删除值为 val 的节点分需为两步 定位节点 修改引用 定位节点 遍历链表 直到 head val val 时跳出 即可定位目标节点 修改引用
  • 4Sum

    Given an array S of n integers are there elements a b c and d in S such that a b c d target Find all unique quadruplets
  • Unique Binary Search Trees -- LeetCode

    原题链接 http oj leetcode com problems unique binary search trees 这道题要求可行的二叉查找树的数量 其实二叉查找树可以任意取根 只要满足中序遍历有序的要求就可以 从处理子问题的角度来
  • 堆栈01--用两个栈实现队列

    堆栈01 用两个栈实现队列 jz05 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 用两个栈来实现一个队列 完成队列的Push和Pop操作 队列中的元素为int类型 测试用例 队列先进先出 输入 1 2 输出 1 2 解析
  • 人工智能概念

    人工智能概念 人工智能就是用人工方法在机器 计算机 上实现的智能 或称机器智能 即是研究如何用计算机来表示和执行人类的智能活动 以模拟人脑所从事的推理 学习 思考和规划等思维活动 并解决需要人类的智力才能处理的复杂问题 如医疗诊断 管理决策
  • 算法学习——贪心算法之币种统计

    算法描述 币种统计 单位给每一位员工发工资 精确到元 为了保证不临时换零钱 使得每个员工取款的张数最少 在取工资前统计所有员工所需要的各种票面的张数 约定票种为100 50 20 10 5 2 1元 并验证币种统计是否正确 算法思路 算法描
  • 区块链中的哈希算法

    区块链中的密码学 密码学在区块链中的应用主要有两个 哈希算法与非对称加密算法 这次主要对哈希算法进行详细的说明 哈希算法 哈希算法的特点有 1 输入可以为任意大小的字符串 2 产生固定大小的输出 3 可以在合理的时间内算出输出值 若要满足密
  • 【试题】排列组合

    在写一个远程的代码 如果本地有M个显示器 远程有N个显示器 M lt N 依据分辨率 显示器刷新频率等要求 需要对远程的N个显示器进行最佳分辨率修改 之后 需要从N个远程显示器中选择M个 跟本地显示器进行一对一的匹配 即从 A N M N
  • 插入排序超详解释,一看就懂

    目录 一 插入排序的相关概念 1 基本思想 2 基本操作 有序插入 二 插入排序的种类 三 直接插入排序 1 直接插入排序的过程 顺序查找法查找插入位置 2 使用 哨兵 直接插入排序 四 直接插入排序算法描述 五 折半插入排序 1 查找插入
  • C++ AVL树(四种旋转,插入)

    C AVL树 四种旋转 插入 一 AVL树的概念及性质 二 我们要实现的大致框架 1 AVL树的节点定义 2 AVL树的大致框架 三 插入 1 插入逻辑跟BST相同的那一部分 2 修改平衡因子
  • 按照层次遍历结果打印完全二叉树

    按照层次遍历结果打印完全二叉树 按照推论结果 l 层首个节点位置 2 h l 1 l 层节点间距 2 h l 1 1 编码实现 public static
  • 浅谈归并排序:合并 K 个升序链表的归并解法

    在面试中遇到了这道题 如何实现多个升序链表的合并 这是 LeetCode 上的一道原题 题目具体如下 用归并实现合并 K 个升序链表 LeetCode 23 合并K个升序链表 给你一个链表数组 每个链表都已经按升序排列 请你将所有链表合并到
  • 高精度运算合集,加减乘除,快速幂,详细代码,OJ链接

    文章目录 零 前言 一 加法 高精度加法步骤 P1601 A B 二 减法 高精度减法步骤

随机推荐

  • Spring中的JDBC模块

    文章目录 什么是Spring JDBC Spring JDBC的开发步骤 下载 Spring JdbcTemplate 的jar包 导入属性文件 管理数据源对象 在配置文件中创建JdbcTemplate对象 JdbcTemplate 中常用
  • 小程序代理平台怎么选?

    如今 越来越多的企业和组织开始使用小程序来实现其业务 小程序代理平台哪家好 怎么选 这是很多人都在纠结的问题 其实 找小程序代理平台并不难 但是找一家合适的小程序代理平台还是有地方需要注意的 一 小程序代理平台 那么 选择一家合适自己的代理
  • 输出时保留有效数字

    保留3位有效数字 1 C include
  • SQL优化

    1 确认是否建立索引 是否索引失效 原则 没有索引考虑加索引 有索引先看索引建立的是否合理以及尽量避免索引失效 1 1 如果不是业务需要查询所有字段 避免直接select 原因 完全没有走覆盖索引的可能 有可能索引失效 增加了数据传输的开销
  • 求集合的所有子集的算法(C++)

    求集合的所有子集的算法 对于任意集合A 元素个数为n 空集n 0 其所有子集的个数为2 n个 如集合A a b c 其子集个数为8 对于任意一个元素 在每个子集中 要么存在 要么不存在 对应关系是 a gt 1或a gt 0 b gt 1或
  • linux网络摄像头服务器,网络摄像头Logitech和Linux

    我有罗技c310相机 宣称的特点是720p30fps 如果您将相机连接到Windows 则记录与所述720p 30fps完全一致 图片清晰 挑战是将同一个摄像头连接到Orangepi 服务器Armbian 并在其上保存视频文件 相机显示为
  • 区块链:一场始料未及的革命

    当主流媒体还在忙于猜测加密货币价格及其黑市阴谋时 他们已经遗漏了这一切的本质事实 那就是 密码学家们悄然发明了一套全新的技术原型 Unitimes特约作者Haseeb Qureshi在其文章 区块链 一场始料未及的革命 Blockchain
  • Qt-OpenCV学习笔记--图像的腐蚀--erode()

    概述 通过一个特定的结构元素 腐蚀 一个图像 图像腐蚀的过程类似于一个卷积的过程 源图像矩阵A以及结构元素B B在A矩阵上依次移动 每个位置上B所覆盖元素的最小值替换B的中心位置值 即锚点处 完成整个腐蚀的过程 算法通俗理解 其运算过程就是
  • 如何科学进行用户分析?六大方法论了解一下!

    用户研究是用户中心的设计流程中的第一步 它是一种理解用户 将他们的目标 需求与商业宗旨相匹配的理想方法 能够帮助企业定义产品的目标用户群 在用户研究过程中 数据的使用及挖掘是非常重要的 那么 有哪些通用的用户分析方法 如何分析你的用户 本篇
  • verilog 产生16进制递增bin文件

    https verificationacademy com forums systemverilog how do i write binary dump file array my testbench w 写 r 读 a 追加 b 二进制
  • 手把手教你搞定 微信支付 跳出微信支付的坑 (公众号支付,核心代码可以用于小程序支付)

    1 准备工作 设置支付目录 请确保实际支付时的请求目录与后台配置的目录一致 否则将无法成功唤起微信支付 在微信商户平台 pay weixin qq com 设置您的公众号支付支付目录 设置路径 商户平台 gt 产品中心 gt 开发配置 如下
  • 2013年11月22日星期五(T3DLIB1剩余---1)

    现在进行T3DLIB的残余 define SCREEN DARKNESS 0 define SCREEN WHITENESS 1 define SCREEN SWIPE X 2 define SCREEN SWIPE Y 3 define
  • 【计算机网络】物理层:物理层要解决哪些问题?

    物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流 而不是具体的传输媒体 现有的计算机网络中的硬件设备和传输媒体的种类非常繁多 而通信手段也有许多不同方式 物理层的作用是尽可能屏蔽这些差异 使物理层上面的数据链路层感觉不到这些
  • iptables需求:开启防火墙:可以正常使用ssh服务,dns服务, httpd服务,chrony服务, nfs服务安装

    1 iptables需求 开启防火墙 可以正常使用ssh服务 dns服务 httpd服务 chrony服务 nfs服务 安装 yum install y iptables services 关闭firewalld 开启iptables sy
  • git的代码撤销步骤

    工作区的代码撤销 1 git status 查看哪些文件是修改过的 2 git checkout 文件路径 让这个文件回到最近一次git commit或git add时的状态 git add到暂存区的代码要撤销 1 git reset HE
  • 时序预测

    时序预测 MATLAB实现基于GRU门控循环单元的时间序列预测 递归预测未来 多指标评价 目录 时序预测 MATLAB实现基于GRU门控循环单元的时间序列预测 递归预测未来 多指标评价 预测结果 基本介绍 模型结构 程序设计 参考资料 预测
  • MySQL数据库、表常用命令

    目录 一 数据库分类 1 关系型数据库 2 非关系型数据库 二 MySQL相关基础 三 MySQL数据库基础操作 1 显示数据库 2 创建数据库 3 删除数据库 4 使用数据库 四 常用数据类型 1 数值类型 2 字符串类型 3 日期类型
  • 【C51】单片机芯片之——图解74HC595

    第一部部分用于快速查阅使用 详细的使用见文章第二部分 引脚图 14脚 DS SER 串行数据输入引脚 13脚 OE 输出使能控制脚 它是低电才使能输出 所以接GND 12脚 RCK 存储寄存器时钟输入引脚 上升沿时 数据从移位寄存器转存带存
  • Maven依赖冲突

    An attempt was made to call a method that does not exist 依赖冲突完整报错如下 Description An attempt was made to call a method tha
  • 字符串04--左旋转字符串

    字符串04 左旋转字符串 jz43 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 汇编语言中有一种移位指令叫做循环左移 ROL 现在有个简单的任务 就是用字符串模拟这个指令的运算结果 对于一个给定的字符序列S 请你把其循环左