每天五道面試題(2)

進棧出棧問題

有三個元素,ABC進棧,那么以下哪一種不可能是出棧順序呢

ABC
ACB
BCA
BAC
CBA
CAB

CAB不可能是出棧順序。 如果C先出棧,那么AB必然都在棧內,那么就不可能A先出,B再出。

補充點:卡特蘭數

括號匹配問題

給一個字符串,里面有大括號,中括號,小括號,怎么知道這個字符串是否匹配。

#括號匹配問題

def brace_match(s):
    stack = []
    d = {
        '(':')',
        '{':'}',
        '[':']'
    }
    for ch in s:
        if ch in d.keys():
            stack.append(ch)
        elif len(stack) == 0:
            print('多了右括號%s'%ch)
            return False
        elif d[stack[-1]] == ch:
            stack.pop()
        else:
            print('括號%s處不匹配' % ch)
            return False
    if len(stack) == 0:
        return True
    else:
        return False

s = "([])()"
print(brace_match(s))
位和字節的關系?

位:一個二進制數據0或1,是計算機傳輸的最小單元.8位組成一個字節.
字節:存儲空間的計量單元,1個字節有8個bit.而1024個字節又代表1K.

b、B、KB、MB、GB 的關系?
  1. b就是bit,也叫比特位,是計算機表示數據最小的單位

  2. 1B=8bit ,B就是字節

  3. 1KB=1024B ,KB就是千字節

  4. 1MB=1024KB ,MB就是兆字節

  5. 1GB=1024MB ,GB就是吉字節

請至少列舉5個 PEP8 規范(越多越好)。

PEP8中文翻譯

1.縮進
①每一級縮進四個空格
②續行應該與其包裹元素同級

2.字符長度
①所有行限制在79個長度以內
②注釋塊限制在72個長度以內

3.空行
①頂層函數和類的定義,前后用兩個空行隔開。
②類里的方法定義用一個空行隔開。

4.導入文件
①導入應該分行導入
②導入總在文件頂部,在文檔注釋后,全局變量與常量前。
③庫的導入應該分一下幾組順序導入

  • 標準庫導入
  • 相關第三方庫導入
  • 本地應用/庫特定導入

④使用絕對路徑導入

5.注釋

①行注釋
與代碼相矛盾的注釋比沒有注釋還糟,當代碼更改時,優先更新對應的注釋!

注釋應該是完整的句子。如果一個注釋是一個短語或句子,它的第一個單詞應該大寫,除非它是以小寫字母開頭的標識符(永遠不要改變標識符的大小寫!)。

如果注釋很短,結尾的句號可以省略。塊注釋一般由完整句子的一個或多個段落組成,并且每句話結束有個句號。

在句尾結束的時候應該使用兩個空格。

當用英文書寫時,遵循Strunk and White (譯注:《Strunk and White, The Elements of Style》)的書寫風格。

在非英語國家的Python程序員,請使用英文寫注釋,除非你120%的確信你的代碼不會被使用其他語言的人閱讀。

②塊注釋
塊注釋通常適用于跟隨它們的某些(或全部)代碼,并縮進到與代碼相同的級別。塊注釋的每一行開頭使用一個#和一個空格(除非塊注釋內部縮進文本)。

塊注釋內部的段落通過只有一個#的空行分隔。

③行內注釋
有節制地使用行內注釋。

行內注釋是與代碼語句同行的注釋。行內注釋和代碼至少要有兩個空格分隔。注釋由#和一個空格開始。

6.約定俗成的命名約定
①永遠不要使用字母‘l’(小寫的L),‘O’(大寫的O),或者‘I’(大寫的I)作為單字符變量名。

②在有些字體里,這些字符無法和數字0和1區分,如果想用‘l’,用‘L’代替。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1.把二元查找樹轉變成排序的雙向鏈表 題目: 輸入一棵二元查找樹,將該二元查找樹轉換成一個排序的雙向鏈表。 要求不...
    曲終人散Li閱讀 3,357評論 0 19
  • 概述:聲明是將一個名稱引入一個程序.定義提供了一個實體在程序中的唯一描述.聲明在單個作用域內可以重復多次(類成員除...
    抓兔子的貓閱讀 644評論 0 3
  • ———————————————回答好下面的足夠了---------------------------------...
    恒愛DE問候閱讀 1,753評論 0 4
  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,438評論 0 5
  • 微信公眾號:CodeId有什么建議可以到公眾號里進行留言。 本篇文章主要介紹python有關正則表達式的使用。說到...
    CrazyIdeas閱讀 461評論 0 2