幼儿园篮球游戏
- 有一个放倒的线性圆桶,可以从右边放入一个或者多个篮球,每个篮球有独立的编号;
- 从右边和左边可以取出篮球,当只有一个篮球时,只能从左边取出;
- 若依次放入1、2、3、4、5共五个编号的篮球,则可以依次取出1、2、3、4、5或者3、1、2、4、5;无法取出5 1 3 2 4编号的篮球;3 1 2 4 5 取出的场景为RLLLL,R表示右边取,L表示左边取;
输入描述:
第一行为依次放入的篮球编号;
第二行为依次取出的编号;
输出描述:
输出取的R/L序列;若无法取出,则输出No
示例1
输入:
4,5,6,7,0,1,2
6,4,0,1,2,5,7
输出:
RLRRRLL
示例2
输入:
4,5,6,7,0,1,2
6,0,5,1,2,4,7
输出:
No
示例3:
输入:
1,2,3,4
1,2,3,5
输出:
No
思路:
双指针
python
nums = [int(x) for x in input().split(",")]
target_nums = [int(x) for x in input().split(",")]
arr = [float('inf') for i in range(300)]
left = 0
right = 0
target_pos = 0
result = ""
i=0
while(True):
if(i>=len(nums)):
break
else :
arr[right] = nums[i]
right+=1
while (True) :
if(right <= left):
break
else :
if (arr[left] == target_nums[target_pos]) :
result += "L"
left += 1
target_pos += 1
continue
elif (arr[right-1] == target_nums[target_pos]) :
result += "R"
right -= 1
target_pos += 1
continue
break
i+=1
if (left != right) :
print("NO")
else :
print(result)