OD C卷 - 幼儿园篮球游戏

幼儿园篮球游戏

  • 有一个放倒的线性圆桶,可以从右边放入一个或者多个篮球,每个篮球有独立的编号;
  • 从右边和左边可以取出篮球,当只有一个篮球时,只能从左边取出;
  • 若依次放入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)
 
相关推荐
奔跑的废柴2 天前
LeetCode 925. 长按键入 java题解
java·算法·leetcode·双指针
阳洞洞9 天前
leetcode 18. 四数之和
leetcode·双指针
阳洞洞12 天前
leetcode 15. 三数之和
leetcode·双指针
阳洞洞15 天前
leetcode 141. Linked List Cycle
数据结构·leetcode·链表·双指针
阳洞洞16 天前
leetcode 142. Linked List Cycle II
数据结构·leetcode·链表·双指针
卷卷的小趴菜学编程18 天前
算法篇-----滑动窗口
数据结构·算法·双指针·滑动窗口·哈希表·数组相关
懒懒小徐21 天前
华为OD机试真题 Java 实现【水库蓄水问题】
java·算法·华为od·双指针
阳洞洞21 天前
滑动窗口leetcode 209和76
算法·leetcode·双指针·滑动窗口
阳洞洞22 天前
leetcode 977. Squares of a Sorted Array
算法·leetcode·双指针
程序员-King.1 个月前
day49—双指针+贪心—验证回文串(LeetCode-680)
算法·leetcode·贪心算法·双指针