iT邦幫忙

algorithm相關文章
共有 321 則文章

技術 [LeetCode 筆記] 11. Container With Most Water

前言   這題是一個運用雙指標的算法,目標是找到可裝最多水的容器 (面積),只需一個 while 迴圈就可依依遍歷到最大的面積答案,時間複雜度可估 O(n),這...

鐵人賽 Software Development DAY 10

技術 Day 10:144. Binary Tree Preorder Traversal

今日題目 題目連結:144. Binary Tree Preorder Traversal 題目主題:Stack, Tree, Depth-First Sear...

鐵人賽 自我挑戰組 DAY 15

技術 Day-15 線性時間演算法 : Bucket sort

bucket sort(桶排序) 假設輸入平均分布,也就是輸入的陣列每一種組合情況都是機率均等的,平均情況下他的時間複雜度為。和counting sort類似,...

鐵人賽 Software Development DAY 25

技術 Day 25:53. Maximum Subarray (1)

今日題目 題目連結:53. Maximum Subarray 題目主題:Array, Divide and Conquer, Dynamic Programmi...

鐵人賽 Software Development DAY 27
舌尖上的演算法 系列 第 27

技術 Day27 -- Greedy Techniques - Dijkstra's Algorithm

本文同步於個人Blog → InformisTry - HankLee 前言 今天是這一個系列文章所要正式介紹的最後一個演算法了,而今天要講的這個演算法也是屬於...

技術 Day 32 你看我 CS - Counting Sort

Counting Sort 是以數字為基礎的排序演算法,其需要定義最大範圍值,作為排序用,整體算法較簡單且速度較快,缺點就是排序元素需要確定在最大範圍值內且需要...

鐵人賽 Kotlin DAY 19
Kotlin is all you need 系列 第 19

技術 [Day 19] Dynamic Programming — Coin Change Problem / Rod Cutting Problem

Coin Change Problem 如何以最少的硬幣數量來湊出特定金額的錢。 這個問題可以用簡單的方式描述如下: 假設我們有一些不同面額的硬幣,每種面額的硬...

鐵人賽 自我挑戰組 DAY 2

技術 【Day 02】認識演算法 Algorithm ( 使用 JavaScript )

一、什麼是演算法 ( Algorithm ) ? 演算法是一組 step by step 用來解決問題、完成任務的指令,它的定義: 在有限時間內 在有限步驟內...

技術 Week20 - 用FP的Maybe來跟Null爆炸說再見吧! [高智能方程式系列]

本文章同時發佈於: Medium iT邦幫忙 大家好,這次要來跟大家介紹FP的Maybe,我不會介紹到Monad等太複雜的FP元素,會以 遇到...

鐵人賽 自我挑戰組 DAY 27

技術 Day-27 圖論(Graph)基本概念

圖(Graph)的表示 圖(Graph) 圖,是一種記錄節點和節點之間關連的表示法。對於圖,表示是由集合和集合共同構成的集合,集合中的元素為圖中的節點,故又稱點...

鐵人賽 自我挑戰組 DAY 14

技術 Day-14 線性時間演算法 : Radix sort

radix sort(Herman Hollerith) 基數排序(radix sort)是種應用在打孔卡排序機上面的演算法,每一張卡片有80列,在每一列上機器...

技術 Day 33 極致改良 - Shell Sort

Shell Sort 是 Insertion Sort 的改良版,加入了間距 (Gap) 的概念將資料分成小區塊,將整組資料分組,每區塊用 Insertion...

鐵人賽 Software Development DAY 24
舌尖上的演算法 系列 第 24

技術 Day24 -- Dynamic Programming - Knapsack

本系列文章同步分享於個人Blog - InformisTry - HankLee 前言 今天要把一個舊問題拉出來再提一次,那就是 -- Knapsack Pro...

鐵人賽 Software Development DAY 26
舌尖上的演算法 系列 第 26

技術 Day26 -- Greedy Techniques - Kruskal's Algorithm

本文同步於個人Blog → InformisTry - HankLee 前言 昨天講了Prim's Algorithm,今天要講另一個Greedy Algori...

LeetCode Top 100 Liked 系列 第 73

技術 [Day 68 - 2] Find the Index of the First Occurrence in a String (Medium)

28. Find the Index of the First Occurrence in a String Solution 1: Brute-Force c...

鐵人賽 自我挑戰組 DAY 20

技術 RNA-Sick@Day20 > 快用你那無敵的非監督機器學習想想辦法吧|依據表現量特徵將基因分群 feat. K-means clustering (下)

社交惡夢之請跟你座位旁的同學一組 k-means clustering 是我覺得最直觀好理解的分群方式。完整分群的過程概念可以分成兩大部分: 一是計算資料點之間...

技術 [LeetCode 筆記] 206. Reverse Linked List

前言   這是一題單向鏈結串列反轉的題目,運用指標的算法,目標是將原本的鏈結串列倒序排列,此演算有使用到一個 while 迴圈,則時間複雜度估 O(n),這裡有...

鐵人賽 Software Development DAY 28

技術 Day 27 迷因新寵兒 - Hash Table

From Medium Hash Table 是用來儲存鍵值對的資料 (key-value pairs)。 而 Hash Table 在找特定資料與新增刪除...

技術 Week40 - 各種安全性演算法的應用 - 竄改、抵賴實作 [高智能方程式系列]

本文章同時發佈於: Medium iT 邦幫忙 大家好,繼上次Week39 - 各種安全性演算法的應用 - 竊聽、電子欺騙實作之後,這次要介紹竄改...

鐵人賽 Software Development DAY 2

技術 Day 1 這到底是什麼符號喔齁齁齁齁齁 - Big O Notation

Big O Notation 是一種表示演算法複雜度的方式。同樣解決一個演算法問題,若該算法執行的時間越少,使用的記憶體愈少,就是越好的解法。可以用來評斷該演算...

鐵人賽 Software Development DAY 1

技術 Day 0 歡迎來到刷題峽谷 - Algorithms & Data Structures

本系列將使用 JavaScript 來撰寫程式,文中也會穿插英文讓讀者盡量熟悉這些單詞,未來在看相關題目時能夠幫助理解。 什麼是演算法與資料結構 演算法指...

鐵人賽 影片教學 DAY 22

技術 輕鬆搞懂演算法: 資料結構的複雜度

今天是來補坑的之前講資料結構都故意先跳過複雜度今天一次講完,順便做複習 程式新手學習發問區,問都給問!!紫楓FB專頁紫楓blog紫楓youtube頻道

鐵人賽 Kotlin DAY 15
Kotlin is all you need 系列 第 15

技術 [Day 15] Graph — Bellman-Ford Algorithm / Floyd-Warshall Algorithm

Bellman-Ford Algorithm Bellman-Ford 演算法是一種用於解決最短路徑問題的演算法,可以處理包含負權重邊的圖。 演算法 初始化...

鐵人賽 Software Development DAY 8

技術 Day 8:506. Relative Ranks

今日題目 題目連結:506. Relative Ranks 題目主題:Array, Sorting, Heap(Priority Queue) 前幾天結束了St...

鐵人賽 Software Development DAY 24

技術 Day 24:605. Can Place Flowers

今日題目 題目連結:605. Can Place Flowers 題目主題:Array, Greedy 昨天介紹了 Greedy 的基本概念,今天會在練習一題以...

技術 [用 Python 解 LeetCode] (002) 26. Remove Duplicates from Sorted Array

題幹懶人包 基本上跟27題很像,輸入是一個已經排序好的數組,最後輸出非重複數值的數量,然後以下幾點要注意: 只能修改該數組,利用的空間複雜度最多為1(意思就...

鐵人賽 Software Development DAY 7

技術 Day 6 BO5-3 - Sliding Window

Sliding Window 跟上篇 Multiple Pointers 類似,定義兩個指標,一個是 start,一個是 end。 像是: start...

鐵人賽 Software Development DAY 7

技術 Day 7:225. Implement Stack using Queues

今日題目 題目連結:225. Implement Stack using Queues 題目主題:Stack, Design, Queue 瞭解完Stack跟Q...

鐵人賽 Kotlin DAY 29
Kotlin is all you need 系列 第 29

技術 [Day 29] Backtracking — Graph Coloring

Algorithm Graph Coloring 是一種圖論中的應用問題,它通常用來解決如何為一個給定的圖中的每個節點分配一種顏色,使得相鄰的節點不具有相同的顏...

鐵人賽 自我挑戰組 DAY 8

技術 Day-8 Divide-and-Conquer-3 : 二分搜尋法, 費波那契數列, Strassen’s演算法

二分搜尋法(Binary Search) 前提,在一個已經排序完成的A陣列中Divide : 元素x和A陣列的中間元素進行比較Conquer : 在其中一個子陣...