2017網易互娛筆試題 括號匹配

2021-08-08 09:01:55 字數 979 閱讀 1074

題目描述

對於一行**(字串),裡面可能出現大括號「{}」、中括號「」和小括號「()」,請程式設計判斷改行**的括號巢狀是否正確。

「()」,「({})」,「printf('hello netease')」等都是括號使用的正確方法,「(}」,"print(hello netease]"則是錯誤的範例。

輸入描述

輸入包含一行,為一行包含括號的字串(字串長度不超過1000)

輸出描述

輸出為true或者false

思路:

可以採用棧解題,對字串進行遍歷,每當遇到左括號,則push該左括號到棧中,若遇到右括號,則將棧頂的元素和其進行配對(注意判斷棧是否為空),若為與之匹配的左括號,則pop該元素,否則輸出false並return。

遍歷結束後若棧不為空則輸出false並return;

#include #include using namespace std;

const int stack_capacity = 128;

typedef char stackelement;

struct stack

;typedef stack *stackpointer;

void push(stackpointer stack, stackelement item)

void pop(stackpointer stack)

int main()

else

} else if (str[i] == ']')

else

} else if (str[i] == '}')

else

} }if (stack->top != -1)

cout << "true";

return 0;

}

2020網易互娛筆試C題

題目 巴拉巴拉,沒有原題,懶得敲了 題意比較坑的地方在於,輸入的v對應的是第i個v 如果第一行的原序列是231 第二行的v序列是159 則對應上去就是591 一開始死在這個地方了 接下來討論解法 n分奇偶討論 n為偶數時,顯然直接交換1和2,3和4,n 1和n 這邊的數字指的是位置,不是序列對應的值...

2019網易互娛8 9筆試

逐級扣稅,關鍵 四捨五入 int x 0.5 問題 c 在本地編譯通過,在牛客不通過 import sys def shui x if x 5000 return 0 if x 5000 and x 8000 return x 5000 0.03 if x 8000 and x 17000 retu...

9 4 網易互娛客戶端筆試

做了一半圖書館閉館,我?第一題public class main for int i 0 i else else if hand.equals left caozuo.equals return else if hand.equals right caozuo.equals return else ...