动态口令【leetcode】

本题选自leetcode图解算法数据结构一书

某公司门禁密码使用动态口令技术。初始密码为字符串 password,密码更新均遵循以下步骤:

设定一个正整数目标值 target

将 password 前 target 个字符按原顺序移动至字符串末尾

请返回更新后的密码字符串。

示例 1:

输入: password = "s3cur1tyC0d3", target = 4

输出: "r1tyC0d3s3cu"

示例 2:

输入: password = "lrloseumgh", target = 6

输出: "umghlrlose"

提示:

1 <= target < password.length <= 10000

法一:利用str的+

python 复制代码
class Solution(object):
    def dynamicPassword(self, password, target):
        """
        :type password: str
        :type target: int
        :rtype: str
        """
        return password[target:]+password[:target]

法二:变成列表直接切片,简单易懂,本来想写循环,感觉麻烦了

python 复制代码
class Solution(object):
    def dynamicPassword(self, password, target):
        """
        :type password: str
        :type target: int
        :rtype: str
        """
        p=list(password)  #字符串无法直接使用append,变为列表再用
        p.append(password[0:target]) #切片,找出需要移动的部分,注意[]的区间是左闭右开
        return "".join(p[target:len(p)+target]) #切片输出,从下标target开始,到右边结束,注意边界右边是开区间,所以取不到
相关推荐
Liangwei Lin9 小时前
LeetCode 118. 杨辉三角
算法·leetcode·职场和发展
YL2004042611 小时前
047从前序与中序遍历序列构造二叉树
算法·leetcode
如竟没有火炬14 小时前
字符串相乘——int数组转字符串
开发语言·数据结构·python·算法·leetcode·深度优先
YL2004042617 小时前
046二叉树展开为链表
数据结构·leetcode·链表
如竟没有火炬18 小时前
至少有K个重复字符的最长子串
开发语言·数据结构·python·算法·leetcode·动态规划
水蓝烟雨19 小时前
2359. 找到离给定两个节点最近的节点
算法·leetcode
阿Y加油吧20 小时前
二刷动态规划经典题:从打家劫舍到完全平方数,Java 实现复盘与优化
leetcode
阿Y加油吧20 小时前
二刷 LeetCode:爬楼梯与杨辉三角,Java 实现复盘
java·算法·leetcode
凌波粒20 小时前
LeetCode--101. 对称二叉树(二叉树)
算法·leetcode·职场和发展
_深海凉_20 小时前
LeetCode热题100-二叉树的最大深度
算法·leetcode·职场和发展