Tag:

C ++ / C / Java:Anagrams – 从原始字符串到目标;

我正试图解决这个问题: http : //uva.onlinejudge.org/external/7/732.html 。 对于给定的示例,它们给我们原始单词,例如TRIT和目标“anagramed”字符串TIRT 。 目标:我们必须输出所有有效的’i’和’o’序列(分别是push和pop),它们从源字符串中产生目标字符串。 所以,我正在考虑计算“i”和“o”的所有排列,但是要减少这种情况: 1)如果当前排列以’o’开头,则停止检查,因为所有下一个排列都将以此pop命令开始,并且从空堆栈中弹出一些东西是无效的命令。 2)如果在检查过程中发现’o’命令并且堆栈中没有任何内容,则跳过该情况。 3)如果找到’i’命令并且输入字符串中没有任何内容,则跳过该情况。 4)如果找到’o’命令并且当前预期的字符不是刚刚弹出的字符,则跳过该情况,因为这将永远不会到达目标字符串。 5)不要搜索输入和目标字符串是否有不同的长度。 但我认为无论如何它可能会让我TLE …… 我知道这个理论:也许是一种排列,一直是回溯。 我实施它有太多困难。 有谁能请与我分享一些代码或想法吗? PS:当然,欢迎任何可能减少执行时间的建议。

使用堆栈检查给定的字符串是否为回文

伙计们, 我最近接受了采访,并在Palindrome上提出了一个问题。 给定一个字符串(可能代表一个日期),检查它是否是回文或使用Stack。 我试图提出解决方案,但他并不喜欢这样。 任何人都可以在Java中向我展示它的代码片段吗? 谢谢 PS:这不是作业,实际的面试问题。

使用pop()和push()的堆栈数组

我有一个问题,我为一个使用堆栈的程序创建了2个类。 我得到的第一个问题是,当我尝试运行程序时,我收到运行时错误。 这是一件很难问的事,因为它做了几件事。 它要求用户输入将数字添加到堆栈并检查堆栈是已满还是空。 我也可能需要帮助来复制数组。 线程“main”java.lang.ArrayIndexOutOfBoundsException中的exception:在Lab15.main的IntegerStack.push(IntegerStack.java:24)处为-1(Lab15.java:38) 这是运行该程序的主要类。 import java.util.Scanner; public class Lab15 { public static void main(String[] args) { System.out.println(“***** Playing with an Integer Stack *****”); final int SIZE = 5; IntegerStack myStack = new IntegerStack(SIZE); Scanner scan = new Scanner(System.in); //Pushing integers onto the stack System.out.println(“Please enter an integer to push onto the stack […]