每日一題 day6

2021-08-14 23:39:18 字數 1179 閱讀 6074

基礎題:

1、兩個棧實現乙個佇列

思路:棧的特點:後進先出

佇列的特點:先進先出

兩個棧可將乙個棧用於入資料,另乙個用於出資料;

**:

#define _crt_secure_no_warnings

#include#includetemplate class myqueue

void pop()//刪除頭部資料

}s2.pop();

} t& front()//取隊首資料

}return s2.top();

} t& back() //取隊尾資料

}return s1.top();

} bool empty()

size_t size()

private:

stacks1; //入資料

stacks2; //出資料

};

測試:

void testqueue()

else

}void pop()

while(p1->size() > 1)

p1->pop();

} t top()

while(p1->size() > 1)

t top = p1->front();

p2->push(top);

p1->pop();

return top;

} size_t size()

bool empty()

private:

queueq1;

queueq2;

};

測試:

void teststack()

{ mystacks;

s.push(1);

();

s.push(2);

();

s.push(3);

s.push(4);

s.pop ();

while(!s.empty())

{ cout<

附加題:

替換字串中的空格為$$$,要求時間複雜度為o(n)

例如:將「talk is cheap show me the code」替換為

「talk$$$is$$$cheap$$$show$$$me$$$the$$$code」.

100天每日一題(day6)

20.有效的括號 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。解答 字典儲存括號,字典的key是左括號,value是右括號,用於判斷。然後用乙個棧不斷匹配括號,一旦不匹配就返回失敗 class ...

AcWing寒假每日一題 Day6剪繩子

有 n 根繩子,第 i 根繩子長度為l i l i li 現在需要m根等長的繩子,你可以對 n 根繩子進行任意裁剪 不能拼接 請你幫忙計算出這 m 根繩子最長的長度是多少。輸入格式 第一行包含2個正整數n m,表示原始繩子的數量和需求繩子的數量。第二行包含n個整數,其中第 i 個整數l i l i ...

AcWing寒假每日一題 Day6剪繩子

有n nn根繩子,第i根繩子長度為lili li,現在需要m mm根等長的繩子,你可以對n nn根繩子進行任意裁剪 不能拼接 請你幫忙計算出這m mm根繩子最長的長度是多少。輸入格式 第一行包含2 22個正整數n m n mn m,表示原始繩子的數量和需求繩子的數量。第二行包含n nn個整數,其中第...