Java解决动态口令问题

发布时间:2024年01月09日

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;
	}	
}
文章来源:https://blog.csdn.net/2302_77182979/article/details/135469115
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。