说些人话其实就是:
初始化一个空栈和一个指针jjj 指向排列结果的第一个元素。
遍历原始口味的每一个元素:
将当前元素压入栈中。
检查栈顶元素是否与排列结果的当前元素相同,如果相同则弹出栈顶元素,并将指针 jjj 向后移动一位。
如果最终栈为空且指针 jjj 已经遍历完排列结果的所有元素,则输出“Yes”,否则输出“No”。
code ,但是python:
stack 用于模拟栈的操作。
j 用于遍历排列结果。
对于每一个原始口味的元素,将其压入栈中,并检查栈顶元素是否与排列结果的当前元素相同。如果相同,则弹出栈顶元素,并将指针 jjj 向后移动一位。
最终检查栈是否为空且指针 j 是否已经遍历完排列结果的所有元素。
时间复杂度:O(n)O(n)O(n),因为最多对每个元素进行一次入栈和一次出栈操作。
空间复杂度:O(n)O(n)O(n),用于存储栈。