發表文章

目前顯示的是 7月, 2021的文章

LeetCode資料結構_二分搜索(Binary Search)

圖片
 通常假設搜尋對象是一個有序的數列。這種搜尋算法通過將數列分成兩半,並比較中間元素與目標值的大小來迅速定位目標值的位置。 固定左右邊界,用中間值與目標值判斷大小,根據情況收縮左邊界或者右邊界即可。 https://ninagirl1998.medium.com/leetcode-33-search-in-rotated-sorted-array-da1df6111576 https://www.guru99.com/binary-search.html 假設我們有一個有序的整數陣列:[2, 5, 8, 12, 16, 23, 38, 45, 56, 72, 91],現在我們想要找到目標值 23 是否在這個陣列中,如果在,我們還希望知道它的索引位置。 傳統的線性搜索方法是從陣列的第一個元素開始,逐一比較直到找到目標值或者確定目標值不存在。但是這種方法的時間複雜度是O(n),當數列很大時,效率較低。 運用二分搜索的方法 Step1. 首先指定搜索範圍,即整個數列。左邊界設置為0,右邊界設置為陣列長度減1:left = 0,right = 10(假設陣列索引從0開始計算)。 Step2. 接下來,我們計算中間元素的索引:mid = (left + right) / 2 = 5。 Step3.比較中間元素23與目標值23的大小。[2, 5, 8, 12, 16,  23 , 38, 45, 56, 72, 91] 由於它們相等,我們已經找到目標值,並且其索引為5。 Step4.搜索結束。 透過二分搜索,我們只用了幾次比較就找到了目標值的位置。這種方法的時間複雜度是O(log n),比線性搜索的O(n) 效率更高。當數列很大時,二分搜索的優勢就會體現出來。 在有序數列中,二分搜索的平均時間複雜度是O(log n),非常高效。特別在大數據量下,相比於線性搜索的O(n),速度快得多。 二分搜索是一種高效的搜尋算法,特別適用於有序數列。它通過將搜索範圍分為兩半來迅速定位目標值,從而大大節省了搜索的時間。 69. Sqrt(x)(Easy) https://leetcode.com/problems/sqrtx/ 題目描述:計算非負整數 x 的平方根。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

.NET Core第13天_View常見操作_Layout佈局頁_PartialView部分檢視_強類型視圖(大量資料或物件的傳遞)

圖片
  _Layout佈局(版面配置)頁 預設當我們新建好.net5 mvc專案後 比方今天新增一個空的Razor檢視 當執行在瀏覽器呈現時候會發現被套用到一個預設佈局頁 主要原因在於 .net core mvc預設會產生和 之前.net webform MasterPage 有點類似的佈局套版頁機制 _ViewStart.cshtml 本質也是一個View但主要是跟MasterPage一樣的定義佈局頁(佈局視圖) _ViewStart.cshtml會比其他所有視圖都還要優先被運行 Layout這裡有指定一個名稱_Layout代表指向_Layout.cshtml, 而_Layout.cshtml才是真正的佈局內容。 專案目錄擺放層級 ./Views/_ViewStart.cshtml ./Views/Shared/_Layout.cshtml _Layout.cshtml佈局實質前端檔案 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "utf-8" /> <meta name= "viewport" content= "width=device-width, initial-scale=1.0" /> <title> @ViewData["Title"] - Net5MvcApp1 </title> <link rel= "stylesheet" href= "~/lib/bootstrap/dist/css/bootstrap.min.css" /> <link rel= "stylesheet&q