iT邦幫忙

演算法相關文章
共有 302 則文章
鐵人賽 Software Development DAY 12

技術 Day 11 選我選我選我選我 - Selection Sort

Selection Sort 實作上是遍歷一次陣列,找出最小值,並將最小值與陣列的第一個值交換,以此類推,再遍歷一次陣列 (先前排序好的位置可以略過) 找出最小...

鐵人賽 Software Development DAY 9

技術 Day 8 BO5-5 - Recursion

Recursion 的定義是一個會呼叫自己的函式。 Recursion 技巧在很多地方都有用到,例如: JSON.stringify & JSON....

技術 【圖解演算法】【Hash】 LeetCode 459 Repeated Substring Pattern

Question link: https://leetcode.com/problems/repeated-substring-pattern/ class S...

技術 打磚塊:球磕到角角的碰撞與反彈

打磚塊可能是很多老師給初學程式的學生的第一個練習專案,雖然我以前沒經過這個階段,但還是來分享一下和打磚塊相關的演算法以及使用Typescript實作的Live...

鐵人賽 Software Development DAY 12

技術 Day 12. Tree-樹 ┏((= ̄(エ) ̄=))┛

一看到樹大家會想到甚麼勒,我會想到野餐,好想出去玩歐歐歐☆^(o´Ф∇Ф)o沒想到資料結構裡面也有樹和森林吧,他其實像是模擬現實生活中的樹幹、樹枝和葉子的樣子那...

鐵人賽 Software Development DAY 23

技術 Day 22 這篇若...不看...財哥也...感嘆... - Tree Traversal

由於樹狀結構並不像 Lined List 或陣列那樣是線狀的,故需要遍歷整個樹狀結構是很複雜的,而且有多種方式。 大致上分為以下兩種: Breadth-fir...

鐵人賽 自我挑戰組 DAY 5

技術 Day5-Dijkstra's Algorithm(戴克斯特拉演算法)

在介紹 Dijkstra’s Algorithm 前要先說這是最短路徑問題(Shortest Path)中的一種經典演算法,最短路徑問題是能算出在 graph...

鐵人賽 Software Development DAY 19

技術 Day 18 快還要更快 - Quick Sort

Quick Sort 使用基準值 (pivot) 比對排序,並透過 Recursion 的技巧,不斷將每個元素放到正確的位置上。 第一步是從陣列中取出一個數字當...

鐵人賽 自我挑戰組 DAY 6

技術 【Day 06】LeetCode:Two Sum ( 用 JavaScript 學演算法 )

我們繼續透過 LeetCode #1 Two Sum 來實際感受解決問題的過程 ( 題目連結 ) 一、理解題目 輸入:一個 nums[] 和 target 找...

鐵人賽 Software Development DAY 11

技術 Day 11. Queue的製作與種類

昨天介紹了用array的方式做Queue,今天來介紹用linked list製作! [法二]用linked list製作 一、single linked lis...

鐵人賽 Software Development DAY 18

技術 Day 17 切出去合進來 升職發大財 - Merge Sort

Merge Sort 是一種透過切分資料再一一合併的排序演算法。 Merge Sort 有使用到 Divide and Conquer 與 Recursion...

鐵人賽 Software Development DAY 1

技術 Day 1. 演算法資料結構,五四三二一起GO!-開賽囉

歐歐歐又來參加一年鐵人賽ㄌ(⁰▿⁰) 去年因為必修課要求要參賽,過程中覺得我之後一定不會想再參加一次喇,好累哦(´A`。)但去了頒獎典禮,看到好多厲害的人,也覺...

鐵人賽 自我挑戰組 DAY 11
30天演算法解題 系列 第 11

技術 Day 11:palindrome check

problem 輸入為一個不為空的字串,回傳該字串是否為回文 (palindrome)。所謂回文是指從前到後和從後到前寫法一樣的字串,只有一個字元的字串也是回文...

鐵人賽 Software Development DAY 15

技術 Day 15. Binary Tree Traversal-二元樹走訪

昨天看了二元樹的表示方式,今天來看看他的走訪!! 二元樹走訪(Binary Tree Traversal) 我 定義: 拜訪Binary tree 中每個Nod...

鐵人賽 Software Development DAY 10

技術 Day 10. Queue-佇列

歐歐終於結束Stack的部分了,接下來換來介紹Queue~我們一樣先來舉一些生活中的例子,像是我們平常要買東西、搭車等等都需要排隊,先排到隊伍中的人會先獲得購買...

鐵人賽 Software Development DAY 21

技術 Day 20 你會分類你要先講 - Bucket Sort

Bucket Sort 和之前的 Radix Sort 有點類似,建立幾個桶子並將資料丟進去排序。而 Bucket Sort 是取區間,例如 1 號桶子裝 0...

鐵人賽 Software Development DAY 8

技術 Day 7 BO5-4 - Divide and Conquer

將一組資料切分成兩組或多組資料,再用切分後的資料進行處理。此技巧能有效減少時間複雜度。 此技巧大量用於搜尋演算法內,以下用 二分搜尋法 (Binary Sear...

鐵人賽 自我挑戰組 DAY 9
30天演算法解題 系列 第 9

技術 Day 09:monotonic array

problem 輸入為一陣列,回傳陣列是否為單調陣列 (monotonic array)。 單調陣列有兩種情況:陣列為單調遞增 (非遞減),或單調遞減 (非遞增...

鐵人賽 Software Development DAY 13

技術 Day 12 我的回合,抽卡!!! - Insertion Sort

從第二個元素開始,往前比對,如果比前一個元素小,則交換位置,以此類推。 以 [30, 5, 1, 31, 10, 9, 2, 3, 4, 8, 7, 6] 來說...

鐵人賽 Software Development DAY 14

技術 Day 14. Binary Tree之表示方式

大家會不會也常常有那種被時間追著跑的感覺呢(´A`。)最近的我時常有這種感覺,越是這種時候好像越想逃避,但不可以!我們一起加油吧,不管怎麼樣還是要持續努力持續進...

鐵人賽 自我挑戰組 DAY 1
30天演算法解題 系列 第 1

技術 Day 01:開始解題之前

去年轉職期間第一次參加鐵人賽,寫了三十篇關於演算法的文章。但因為當時還在認識階段,文章比較多概念上的討論,很少程式碼實戰。也因為這樣,後來在找工作時碰到演算法白...

鐵人賽 Software Development DAY 11

技術 Day 10 還敢下來啊 - Bubble Sort

一種排序資料的方式,實務上不太常使用,除了某些特定情境。相對於其他排序方式,Bubble Sort 效能較差。 儘管如此,作為基礎中的基礎,最好還是要理解其概念...

鐵人賽 Software Development DAY 6

技術 Day 5 BO5-2 - Multiple Pointers

Multiple Pointers 技巧是透過建立 pointer 變數代表目前指到哪個位置 (index)。使用兩個 pointer 代表目前查找的位置與範圍...

鐵人賽 自我挑戰組 DAY 2
30天演算法解題 系列 第 2

技術 Day 02:two number sum

problem 輸入為一陣列及一整數 target,如果陣列中有兩個數字 a, b 相加等於 target,回傳陣列 [a, b] (或 [b, a],順序都可...

鐵人賽 自我挑戰組 DAY 25
30天演算法解題 系列 第 25

技術 Day 25:group anagrams

problem 輸入為一陣列,其中元素為字串,將字串以 anagram (易位構詞) 進行分組,最終以雙層陣列的結構輸出。易位構詞指的是同樣字母以不同順序排列出...

鐵人賽 自我挑戰組 DAY 24

技術 Day 24 | 演算法:Big O Notation & 最大最小數找法

圖片來源 今天開始要來講演算法相關的主題,在進入「最大數與最小數找法」之前,要先來談談 Big O Notation ▌Big O Notation (大O表示...

鐵人賽 自我挑戰組 DAY 17
30天演算法解題 系列 第 17

技術 Day 17:generate document

problem 輸入為兩個字串 characters 和 document,一個包含可利用的字元,另一個代表要產生的文件。回傳是否可以以可用字元產生文件。 只有...

鐵人賽 自我挑戰組 DAY 21
30天演算法解題 系列 第 21

技術 Day 21:product sum

problem 輸入為一個不為空的陣列,元素為整數或陣列,內層的陣列中也可能包含整數或陣列...以此類推。回傳陣列的 '商品總和',每一個陣列的商品總和代表元素...

技術 Ruby、演算法學習心得(一) 二元搜尋法 Binary Search。

鐵人賽結束後一陣空虛??文章內容都會以Ruby來撰寫程式碼,然後繼續來傳教K-POP啦! 有請韓國國民妹妹IU來獻唱第一首! 轉載於:Jaxirius個人Yo...

技術 php 產生總和為1的數值陣列,且指定小數精度

如題:輸入:$num 要產生的數值數量 (正整數) 預設為2個$precision 決定小數下幾位 (正整數) 預設精度為小數下6位 輸出:$weighta...