1. 程式人生 > >百度筆試題 完成括號匹配

百度筆試題 完成括號匹配

/*
*計算出不能匹配的'[' , ']',輸出時加在左右
*/
#include <bits/stdc++.h>
using namespace std;

int main()
{
	string s, left;
	cin >> s;
	int cnt = 0;
	for (int i=0; i<s.size(); i++) {
		if (s[i] == '[') {
			cnt++;
		} else {
			cnt--;
		}
		if (cnt < 0) {
			cnt++;
			left += '[';
		}
	}
	string right(cnt, ']');
	cout << left + s + right << endl;
    return 0;
}

相關推薦

試題 完成括號匹配

/* *計算出不能匹配的'[' , ']',輸出時加在左右 */ #include <bits/stdc++.h> using namespace std; int main() { string s, left; cin >> s; int

演算法題 90:從多個數組中找最大值(試題

題目:有n個長度均為m的整型陣列,陣列中的元素都是從小到大有序排列,從所有這些陣列m*n個數中,找出值最大的前k個。請給出思路和時間複雜度。 類似賽馬問題做法 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markdown和擴

試題2018

題外話 首先我要吐槽一下,csdn簡直是在作死啊,複製博文底下的那個引用太噁心了,我複製自己的部落格,還有引用,啥玩意啊。。。 所以我決定換地方了,以後github(偏重程式碼)和gitee(偏重知識)會經常更新。 題目 就是讓你用es5寫程式碼,實現點選之後

試題--論壇資料庫表設計

轉載地址:http://blog.sina.com.cn/s/blog_542a862901000cbq.html 二、 一個簡單的論壇系統,以資料庫儲存如下資料:   使用者名稱,email,主頁,電話,聯絡地址,發帖標題,發帖內容,回覆標題,回覆內容。   每天論壇訪問量300萬

試題:malloc/free與new/delete的區別

相同點:都可用於申請動態記憶體和釋放記憶體 不同點: (1)操作物件有所不同。 malloc與free是C++/C 語言的標準庫函式,new/delete 是C++的運算子。對於非內部資料類的物件而言,光用maloc/free 無法滿足動態物件的要求。物件在建立的同時要自動

給定一個存放整數的陣列,重新排列陣列使得陣列左邊為奇數,右邊為偶數---試題

題目:給定一個存放整數的陣列,重新排列陣列使得陣列左邊為奇數,右邊為偶數。        要求:空間複雜度O(1),時間複雜度為O(n)。   我自己寫了一下(之前寫的那個不對,現在重寫了,時間複雜度達到O(n))    void swap(int *a,int i,int

C語言50題之試題

判斷你的電腦儲存方式是大端還是小端 大端模式,是指資料的高位元組儲存在記憶體的低地址中,而資料的低位元組儲存在記憶體的高地址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理:地址由小向大增加,而資料從高位往低位放;這和我們的閱讀習慣一致。 小端模式,是指

試題(2018.10.29) 內容生態事業部

介紹自己的專案 專案的資料量有多大 zookeeper在follower死掉後,如何重新選舉? hdfs的資料儲存和讀取過程? hdfs在資料儲存過程中,如何保證副本的資料一致性? 當時我沒想起來,於是被問道,如果是你設計,你會如何實現hdf

試題:找出陣列中出現次數超過一半的數

現在有一個數組,已知一個數出現的次數超過了一半,請用O(n)的複雜度的演算法找出這個數。 Thinking……/>/> Thinking……/>/>/> Thinking……/>/>/> Thinking……/>/>/> Think

騰訊,面試經驗

騰訊百度遊戲網易華為 面試完畢,已跟網易遊戲簽約。遂敲一份筆經面經,記錄下面試經過。類似於用日記記錄自己,同時希望對師弟師妹有一定幫助。不是炫耀,只是希望攢RP,希望各位不要鄙視我。正所謂“飲水思源”。小弟來自廣州華南理工大學,電腦科學與工程學院。給華工計算機打一個廣告

隨機數——試題

題目如下:   已知一隨機發生器,產生0的概率是p,產生1的概率是1-p,現在要你構造一個發生器,使得它構造0和1的概率均為1/2;構造一個發生器,使得它構造1、2、3的概率均為1/3;...,構造一個發生器,使得它構造1、2、3、...n的概率均為1/n,要求複雜度最低。

js試題

小編推薦:Fundebug專注於JavaScript、微信小程式、微信小遊戲,Node.js和Java實時BUG監控。真的是一個很好用的bug監控費服務,眾多大佬公司都在使用。 說出以下程式碼執行結果 var a = {n: 1} var b = a; a.x = a

試題 把ip字串轉換為32位二進位制數

#include <iostream> #include <string> using namespace std; int ip[32]={0};//可以只寫一個0,不然的話就是隨見的如-3895567 之類的。 int * intToA(in

試題 字串中單詞的逆轉,即將單詞出現的順序進行逆轉

#include<stdio.h> #include<string.h> void Rotate(char *start,char *end) { if(start == NULL || end == NULL) return ; while(sta

試題之二叉樹層次遍歷(從上到下,從下到上)

1.二叉樹的層次遍歷 遞迴解法 class Node(object): def __init__(self, v, left=None, right=None): self.value = v self.left = l

陣列中只出現一次的兩個數字(試題

題目要求: 在一個數組中,其餘數字都是成堆出現的,只有兩個數字出現了一次。儘快找到這兩個數字。 思路: 之前有過類似題,是一組陣列中只有一個數字出現了一次,其餘數字都是成對出現的。找到這個數字。這道題

試題:自己實現strlen,考慮32位,64位機器,考慮效能

沒辦法, 現在的大公司面試就面這個, 你不得不研究下底層的實現.要點:1) 字長邊界對齊以便加快速度. 對齊時也要考慮機器的位數哦. 2) 一次測試4個(或者8個)位元組中是否含零的技巧. 3) 需要自適應32bit/64bit機器.     定義magic變數是要使用lo

【校招】試題-4種陣列去重的方法

第一部分原文連結:http://blog.csdn.net/u011277123/article/details/54091442第二部分原文連結:http://blog.csdn.net/icessunt/article/details/69098474方法一: findI

試題:一個單鏈表,長度未知,如何快速的找出位於中間的那個元素

問題: 一個單鏈表,長度未知,如何快速的找出位於中間的那個元素? 設定兩個指標,p1,p2, 開始p1,p2均位於連結的頭部。 p1 每次步進兩步, p2 每次步進一步 當p1到達連結串列的末尾時,p2所在的位置就是連結串列的中間元素 時間複雜度為O(n) 詳

試題——簡單運算

問題:要求不使用+ - * / < >運算子號判定給定兩個非零數的大小。輸入:多組輸入兩個數a和b。輸出:輸出min=較小的數字,max=較大的數字實現程式碼:#include <stdio.h>int main(int argc,char* argv