Java解决动态口令问题

Java解决动态口令问题

01 题目

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

  • 设定一个正整数目标值 target
  • passwordtarget 个字符按原顺序移动至字符串末尾

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

示例 1:

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

示例 2:

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

提示:

  • 1 <= target < password.length <= 10000

02 知识点

  • 拼接
  • 字符数组

03 我的题解

public class shuanzhizhen01 {

	public static void main(String[] args) {
		System.out.println(dynamicPassword("lrloseumgh", 6));
	}
	public static String dynamicPassword(String password, int target) {

//		这里我采用char数组+循环的方式解题
		char[] chars=password.toCharArray();
//		用于接收的新数组
		char[] string=new char[chars.length];
//		两个指针用于记录数据
		int l=0;
		int r=target;
		for (int i = 0; i < chars.length; i++) {
			if (i<chars.length-target) {
				string[i]=chars[r];
				r++;
			}else {
				string[i]=chars[l];
				l++;
			}
		}
//		将char数组转化回字符串
		String s=String.valueOf(string);
		return s;
	}	
}

你可能感兴趣的:(蓝桥杯,java,python,算法)