Aquamay

@Aquamay

Joined on May 19, 2021

  • 實際需求 請輸入一個表達式 計算 7*2*2-5+1-5+3-3 請問: 計算機底層是如何運算得到結果的? 對計算機而言,它接收到的就是一個字串,我們需要將之解析為運算元、運算子,還得考慮優先權。 棧的介紹 先進後出(FILO)的有序列表 是限制線性表中元素的插入和刪除只能在線性表的同一端進行的一種特殊線性表。允許插入和刪除的一端,為變化的一端,稱為棧頂(top),另一端為固定的一端,稱為棧底(bottom)。
     Like  Bookmark
  • 使用場景: 排隊買票 特徵 先進先出(FIFO) 有序列表,可以用陣列或連結串列來實現。 Queue兩個指針:rear 佇列的尾部(含)、front 佇列的頭部(不含)。 新增數據時,front不動rear動;刪除數據時,rear不動front動 => 由尾端加入數據,由頭部取出。 我們可以以排隊買票為例,將排隊的隊列視作Queue,先排隊的人先買票,後到的人排在後面等待買票,並且先買票的人買完票之後就離開隊伍;我們將第一個買票的人稱之為front,隊伍最後一個等待買票的人為rear。
     Like 6 Bookmark
  • Progress Events Events progress 用於描述資源加載的進度,主要由 AJAX 請求, <img>, <audio>, <video>, <style>, <link>...等外部資源的加載觸發。 主要包含以下幾種事件: abort: 外部資源中止加載時(比如使用者取消)觸發 error: 由於錯誤導致外部資源無法加載時觸發 load: 外部資源加載成功時觸發 loadstart: 外部資源開始加載時觸發 loadend: 外部資源停止加載時觸發, 發生順序在 error, abort, load...等事件的後面
     Like  Bookmark
  • Search signals 為 Google 搜尋排名的考量指標之一,其中包含 Core Web Vitals 和 Mobile Friendly, HTTPS, No Intrusive Interstitials。 網站核心指標(Core Web Vitals)可以協助評估網站的使用體驗,並找出改進空間。若網站使用體驗不佳將會影響網站排名和SEO成效。 目前(2020年)使用者體驗專注於三個面向——載入速度(loading performance)、互動反應能力(Interactivity)、視覺穩定性(Visual Stability),並根據這三個面向延伸出三個主要的指標: Largest Contentful Paint(LCP):測量從網頁載入到頁面中最大面積元素渲染到畫面上所花費的時間。 First Input Delay (FID):測量使用者與網頁互動,直到瀏覽器回應互動事件的時間差。 Cumulative Layout Shift (CLS):測量累計佈局偏移,即畫面發生未預期排版移動的程度。
     Like  Bookmark
  • Just like we have grammar rules and linguistic structures to frame our words and feelings into comprehensible sentences, we have design patterns and principles to shape our code. ... SOLID, DRY, KISS, and YAGNI are not merely principles but are cornerstones of crafting good code. Good code is like a love letter to the next developer who will maintain it. 文章中提及的 SOLID, DRY, KISS, YAGNI 都是設計原則,這些設計原則目的都是為了提高程式碼可讀性、提升可維護性。
     Like  Bookmark
  • 前言 一些該說的東西 物件導向(OOP) 資料結構 資料結構簡介 稀疏矩陣(Sparse Matrix) 佇列(Queue)與環形佇列 單向鏈結串列(Single Linked List) 雙向鏈結串列(Doubly Linked List)
     Like 7 Bookmark
  • 一個二元樹通過線索連起來。所有原本為空的右(孩子)指針改為指向該節點在中序序列中的後繼,所有原本為空的左(孩子)指針改為指向該節點的中序序列的前驅。 假設該二元樹中序遍歷為 A B C D E F G H I,根據上述說明試著解讀為何這些節點的線索是這樣連的。 A 節點的左指針為空,因此指向其中序的前驅節點為 B,右指針要指向後繼,但它是第一個遍歷所以為空;C 節點的左指針指向前驅 B,右指針指向後繼 D...以此類推。 :::warning 線索二元樹能線性地遍歷二元樹,從而比遞迴的中序遍歷更快,並且建立線索並不影響時間複雜度。 使用線索二元樹也能夠方便的找到一個節點的父節點,這比多宣告一個父親節點指針來找 或者用 棧 效率更高。
     Like  Bookmark
  • 資料結構與演算法的關係 資料結構是一門研究組織數據方式的學科,有了程式語言也就有了資料結構,學好資料結構可以寫出更漂亮更有效率的代碼。 資料結構是演算法的基礎。 程序 = 資料結構+演算法 資料結構包括:線性結構和非線性結構。 線性結構
     Like 2 Bookmark
  • 鏈結串列以節點(node)來儲存資料,每個節點中包含兩個域:資料域(data)、指標域(next),指標域用於指向下一個節點,將這些節點串連起來形成 Linked List,而最後一個節點則指向一個空值。 鏈結串列的各個節點不一定是連續存放的。 實際應用案例 客戶端發來好友編號21、1、19、38、5,要求按照編號大小順序將這幾位的資訊傳回來,為了速度不允許經過數據庫,那我們可以使用鏈結串列來解決。 新增鏈結串列數據 使用帶head的單向鏈結串列實現 - 水滸英雄排行榜管理。
     Like 1 Bookmark
  • 排序也稱排序演算法(Sort Algorithm) ,排序是將一組數據依指定的順序進行排列的過程。 排序的分類 內部排序:數據量較小,將需要處理的所有數據都加載到內部記憶體中進行排序。 外部排序法:數據量過大,無法全部加載到內部記憶體中,需要借助輔助記憶體進行排序。 常見的排序演算法分類: 我們將重點放在內部排序,因為大多面試題問的都是內部排序。
     Like  Bookmark
  • 題目概要 給定一個陣列 nums 和一個正整數 target,找出 nums 陣列中的兩個數加起來和為 target,並返回這兩個值的索引值。 Example 1: Input: nums = [2,7,11,15], target = 9 Output: [0,1] Explanation: Because nums[0] + nums[1] == 9, we return [0, 1]. Example 2: Input: nums = [3,2,4], target = 6
     Like  Bookmark
  • Easy 1. Two Sum 13. Roman to Integer 20. Valid Parentheses 21. Merge Two Sorted Lists 53. Maximum Subarray 58. Length of Last Word 70. Climbing Stairs 101. Symmetric Tree
     Like  Bookmark
  • 題目概要 找出字串中的母音後將找到的母音順序反轉,再依次放回本來母音的位置。 Example 1: Input: s = "hello" Output: "holle" Example 2:
     Like  Bookmark
  • 題目概要 給定一個整數陣列 nums 和一個正整數 k,找出一個連續的且長度為 k 的子陣列,這個子陣列所有元素相加取平均數為最大。 Example 1: Input: nums = [1,12,-5,-6,50,3], k = 4 Output: 12.75000 Explanation: Maximum average is (12 - 5 - 6 + 50) / 4 = 51 / 4 = 12.75 Example 2:
     Like  Bookmark
  • 題目概要 給定一個大小為 n 的整數陣列 nums,返回使所有陣列元素相等所需的最小移動次數。 每一步可以將陣列中的 n - 1 個元素加1。 Example 1: Input: nums = [1,2,3] Output: 3 Explanation: Only three moves are needed (remember each move increments two elements):
     Like  Bookmark
  • 題目概要 將字串內容轉為小寫。 Example 1: Input: s = "Hello" Output: "hello" Example 2:
     Like  Bookmark
  • 題目概要 給定一個字串(句子),並給定一個正整數 k,將字串中的前 k 個單字輸出。 Example 1: Input: s = "Hello how are you Contestant", k = 4 Output: "Hello how are you" Explanation: The words in s are ["Hello", "how" "are", "you", "Contestant"]. The first 4 words are ["Hello", "how", "are", "you"].
     Like  Bookmark
  • 題目概要 給定一個整數陣列 arr 和三個整數 a, b, c,你需要找到 Good Triplets 的數量。 Good Triplets 須滿足以下條件: 0 <= i < j < k < arr.length |arr[i] - arr[j]| <= a |arr[j] - arr[k]| <= b |arr[i] - arr[k]| <= c
     Like  Bookmark
  • 題目概要 給定一個整數陣列 prices,其中 prices[i] 是當天股票的價格。每一天你都可以決定買入或賣出股票。在任何時候最多只能持有一股股票。可以在同一天買入和賣出。 請輸出最大利潤。 Example 1: Input: prices = [7,1,5,3,6,4] Output: 7 Explanation: Buy on day 2 (price = 1) and sell on day 3 (price = 5), profit = 5-1 = 4.
     Like  Bookmark
  • 題目概要 給定一個字串,輸出最後一個單字的長度。 Example 1: Input: s = "Hello World" Output: 5 Explanation: The last word is "World" with length 5. Example 2:
     Like  Bookmark