这是第 19 篇算法,从这里开始的算法优先采用模拟法,可以当作是模拟特训,力扣链接
某公司门禁密码使用动态口令技术。初始密码为字符串
password
,密码更新均遵循以下步骤:
- 设定一个正整数目标值
target
- 将
password
前target
个字符按原顺序移动至字符串末尾请返回更新后的密码字符串。
示例 1:
输入: password = "s3cur1tyC0d3", target = 4 输出: "r1tyC0d3s3cu"示例 2:
输入: password = "lrloseumgh", target = 6 输出: "umghlrlose"
这道题很简单,就是简单的字符串移动。
至于 Go 语言的话,就是切片的组合,这里不做过多的描述,代码如下:
func dynamicPassword(password string, target int) string {
left := password[0:target]
right := password[target : len(password)]
return right + left
}
当然也可以更简单的返回:
func dynamicPassword(password string, target int) string {
return password[target : len(password)] + password[0:target]
}