原创 leetcode 正則表達式 (動態規劃)

給你一個字符串 s 和一個字符規律 p,請你來實現一個支持 '.' 和 '*' 的正則表達式匹配。 '.' 匹配任意單個字符'*' 匹配零個或多個前面的那一個元素所謂匹配,是要涵蓋 整個 字符串 s的,而不是部分字符串。 說明: s 可

原创 leetcode 字典序排數

給定一個整數 n, 返回從 1 到 n 的字典順序。 例如, 給定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] 。 請儘可能的優化算法的時間複雜度和空間複雜度。 輸入的數據 n 小於等於 5,00

原创 買賣股票的最佳時機 III

給定一個數組,它的第 i 個元素是一支給定的股票在第 i 天的價格。 設計一個算法來計算你所能獲取的最大利潤。你最多可以完成 兩筆 交易。 注意: 你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票)。 示例 1: 輸入: [3

原创 leetcode LRU緩存機制(list+unordered_map)詳細解析

運用你所掌握的數據結構,設計和實現一個  LRU (最近最少使用) 緩存機制。它應該支持以下操作: 獲取數據 get 和 寫入數據 put 。 獲取數據 get(key) - 如果密鑰 (key) 存在於緩存中,則獲取密鑰的值(總是正數

原创 leetcode 編輯距離(動態規劃)

給定兩個單詞 word1 和 word2,計算出將 word1 轉換成 word2 所使用的最少操作數 。 你可以對一個單詞進行如下三種操作: 插入一個字符刪除一個字符替換一個字符示例 1: 輸入: word1 = "horse", w

原创 leetcode 字典序第K小數字

給定整數 n 和 k,找到 1 到 n 中字典序第 k 小的數字。 注意:1 ≤ k ≤ n ≤ 109。 示例 : 輸入:n: 13 k: 2 輸出:10 解釋:字典序的排列是 [1, 10, 11, 12, 13, 2, 3,

原创 leetcode 盛水最多的容器(雙指針)

給定 n 個非負整數 a1,a2,...,an,每個數代表座標中的一個點 (i, ai) 。在座標內畫 n 條垂直線,垂直線 i 的兩個端點分別爲 (i, ai) 和 (i, 0)。找出其中的兩條線,使得它們與 x 軸共同構成的容器可以

原创 leetcode K個一組反轉鏈表

給你一個鏈表,每 k 個節點一組進行翻轉,請你返回翻轉後的鏈表。 k 是一個正整數,它的值小於或等於鏈表的長度。 如果節點總數不是 k 的整數倍,那麼請將最後剩餘的節點保持原有順序。 示例 : 給定這個鏈表:1->2->3->4->5

原创 Oracle實驗一 熟悉ORACLE環境並練習SQL操作

實驗一、熟悉ORALCE環境並練習SQL操作 一、目的與要求 本實驗主要是熟悉ORACLE的運行環境,在CLIENT端進行聯接設置與服務器聯通,進入ORACLE的SQL*PLUS或SQL Developer的操作環境,進一步建立表格,並

原创 2019字節跳動面試時手撕代碼題(持續更新~)

  1. N 階乘末尾0的個數。 輸入描述: 輸入爲一行,n(1 ≤ n ≤ 1000) 輸出描述: 輸出一個整數,即題目所求解法:要判斷末尾有幾個0就是判斷可以整除幾次10。10的因子有5和2,而在0~9之間5的倍數只有一個,2的倍數

原创 進程和線程

  1.概念和區別 概念 從本質上說,一個進程就是一個正在執行的程序,它是系統進行資源分配和調度的基本單元,是操作系統結構的基礎。每個進程都有自己的地址空間,包括可執行程序,程序的數據,棧,一組寄存器(程序計算器,棧指針以及其他運行程序

原创 leetcode 1019. 鏈表中的下一個更大節點

給出一個以頭節點 head 作爲第一個節點的鏈表。鏈表中的節點分別編號爲:node_1, node_2, node_3, ... 。 每個節點都可能有下一個更大值(next larger value):對於 node_i,如果其 nex

原创 第7節:Java基礎 - 三大集合(下)

  (1) TreeMap有哪些特徵 答:TreeMap底層實現使用紅黑樹實現,TreeMap中存儲的鍵值對按照鍵來排序。 如果Key存入的是字符串等類型,那麼會按照字典序默認排序 如果傳入的是自定義引用類型,比如說User,那麼

原创 leetcode 字節跳動模擬面試編程題(持續更新~)

模擬一 第一題  字符串中的單詞個數(簡單) 統計字符串中的單詞個數,這裏的單詞指的是連續的不是空格的字符。 請注意,你可以假定字符串裏不包括任何不可打印的字符。 示例: 輸入: "Hello, my name is John" 輸出

原创 第6節:Java基礎 - 三大集合(上)

第6節:Java基礎 - 三大集合(上) 本小節是Java基礎篇章的第四小節,主要介紹Java中的常用集合知識點,涉及到的內容包括Java中的三大集合的引出,以及HashMap,Hashtable和ConcurrentHashMap。