题目描述
思路分析
构造出相应的字符串,之后输出相应的字符即可,
反向输出用的是遍历上一字符之后,依照判断输出,之后拼接数组即可
代码解析
let input = [[1, 1], [2, 2], [3, 3], [4, 4], [5, 5]];
for (let i = 0; i < input.length; i++) {
let a = input[i]
//首行设置
let arr = ['R']
//开始递归
func(a[0] - 1, a[1] - 1, arr);
}
//target 横向 第n个字符串
//index 纵向 第几个字符
//arr 当前数组
//pollCount 循环次数
function func (target, index, arr, pollCount = 1) {
middle = [];
//循环次数与第几个字符串的判断
if (pollCount <= target) {
for (let i = 0; i < arr.length; i++) {
if (arr[i] == 'R') {
middle.push('B')
} else {
middle.push('R')
}
}
//利用concat进行数组链接 将数组转换为字符串
func(target, index, arr.concat(middle), pollCount + 1)
} else {
//横向遍历数组
for (let j = 0; j < arr.length; j++) {
//输出结果
if (j == index) console.log('=>', arr[j]);;
}
}
}
后话
只是记录,正在找工作中,各位老板缺前端的可以私信,会vue,react,ts,js,22届本科毕业,一年工作经验