有人可以向我解释括号平衡问题的算法吗?
"由于括号括号,字符串(代码)语法是否正确?"
除了每个"("应该有另一个")"以使算法返回true之外,我无法弄明白.
谢谢!
我找到了这个解决方案,但我不明白它,我不想复制和粘贴它:
def balance(chars: List[Char]): Boolean = {
def balanced(chars: List[Char], open: Int): Boolean = {
if (chars.isEmpty) open == 0
else
if (chars.head == '(') balanced(chars.tail,open+1)
else
if (chars.head == ')') open>0 && balanced(chars.tail,open-1)
else balanced(chars.tail,open)
}
balanced(chars,0)
}
Run Code Online (Sandbox Code Playgroud) 我需要编写一个函数,如果一个set(这个set是另一个函数的输出)包含1个元素,则返回true,否则它将保留原样.
例如:
Set(1)返回特定结果,Set(2,4)按原样返回该集合.
如何检查集合中包含的元素数量?
我正在尝试运行此程序,但它告诉我没有找到r.你怎么称呼这个方法,因为它在课堂上?(我假设错误是因为这个)
package pack
class Sud(val grid: List[List[Int]]) {
def r(r: Int): List[Int] =
//code
}
object Sud
{
def main(args: Array[String])
{
val puzzle=new Sudoku(List(
List(0, 0, 9, 0, 0, 7, 5, 0, 0),
//rest of Sudoku puzzle created by repeating the above statement
println(r(0)) //ERROR given here
}
}
Run Code Online (Sandbox Code Playgroud) 以下两段代码如何等效?(案例如何运作)
list.zipWithIndex.flatMap{
rowAndIndex =>
rowAndIndex._1.zipWithIndex
}
Run Code Online (Sandbox Code Playgroud)
和
list.zipWithIndex.flatMap {
case (rowAndIndex, r) =>
rowAndIndex.zipWithIndex
}
Run Code Online (Sandbox Code Playgroud) 有人可以用指针解释这段代码的作用:
while(terminate== 0)
{
s->value=s->next->value;
if ((s->next->next)==NULL)
{
free(s->next);
s->next=NULL;
terminate= 1;
}
s=s->next;
}
Run Code Online (Sandbox Code Playgroud)
其中s作为参数传递:set_el*s并具有以下结构:
typedef struct set_el
{
int value;
struct set_el* next;
} set_el;
Run Code Online (Sandbox Code Playgroud) Scala中是否有任何函数将整数与字母表中的字母互换?例如,只要列表中有"1",它就会与"a"互换?我必须搜索一个列表,如果我找到'1'我必须将它改为'a',否则打印列表就是这样.谢谢