动态口令【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开始,到右边结束,注意边界右边是开区间,所以取不到
相关推荐
夏鹏今天学习了吗3 小时前
【LeetCode热题100(92/100)】多数元素
算法·leetcode·职场和发展
源代码•宸4 小时前
Leetcode—509. 斐波那契数【简单】
经验分享·算法·leetcode·面试·golang·记忆化搜索·动规
踩坑记录6 小时前
leetcode hot100 206.反转链表 easy
leetcode
夏鹏今天学习了吗8 小时前
【LeetCode热题100(90/100)】编辑距离
算法·leetcode·职场和发展
一分之二~10 小时前
二叉树--层序遍历(迭代和递归)
数据结构·c++·算法·leetcode
程序员-King.11 小时前
day166—递归—多边形三角剖分的最低得分(LeetCode-1039)
算法·leetcode·深度优先·动态规划·递归
夏鹏今天学习了吗11 小时前
【LeetCode热题100(94/100)】下一个排列
算法·leetcode·职场和发展
平生不喜凡桃李12 小时前
LeetCode 两数之和/三数之和
算法·leetcode·两数之和·三数之和
Remember_99312 小时前
【LeetCode精选算法】二分查找专题二
java·数据结构·算法·leetcode·哈希算法
We་ct13 小时前
LeetCode 42. 接雨水:双指针解法深度剖析与全方法汇总
前端·算法·leetcode·typescript