iT邦幫忙

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

技術 [One Punch 一拳搞定前後端面試] DAY-10 - 時間複雜度

時間複雜度 (Time Complexity) 用來表示程式執行的時間與速度表現。通常與程式內的演算法有關, 例如,當我們再加入一個 input 到某程式時,執...

鐵人賽 Software Development DAY 2

技術 [Day 2] Two Sum:暴力解不難,但善用 dictionary 讓你更輕鬆

講到 LeetCode,大部分人共同的回憶(以及共同的起點)大概就是 two Sum 了吧。這題會給一個陣列以及一個數字,我們要找的,就是陣列中哪兩個數字加起來...

鐵人賽 Software Development DAY 7

技術 [One Punch 一拳搞定前後端面試] DAY-07 - 第一字母大寫

把每個字第一個字母大寫 題目: 給一句英文(全小寫),寫一個方法(函式),把每個單字第一個字母都大寫後回傳。 這題滿常遇見,在寫程式的時候也會用到。 此文同時...

鐵人賽 Software Development DAY 5

技術 [One Punch 一拳搞定前後端面試] DAY-05 - FizzBuzz

FizzBuzz 問題 給一個整數 n請列印出 1~n 的每一個整數,但是 當整數可以被 3 整除的時候印出 Fizz 來代替原本要印出的數, 當整數可以被 5...

鐵人賽 影片教學 DAY 5

技術 "課綱" 從零開始搞懂,寫程式, 資料結構, 演算法, 物件導向

這一集沒什麼ho就只是課綱,方便大家建立接下來 有點硬的內容的架構 不過請放心,我講的都會讓他很簡單的 基礎語法 變數 資料型態 運算符號 陣列 Condi...

技術 AI 時代,我們為什麼比過去更需要軟體工程師?解析 Vibe Coding 的虛與實

在這個 AI 程式碼生成技術(Code Generation)狂飆的年代,網路上充斥著一種聲音:「程式設計師要失業了」、「未來人人都是開發者」。最近矽谷甚至出現...

鐵人賽 Software Development DAY 1

技術 [Day 1] 不是在摸魚,但認識環境真的很重要

對於軟體工程師來說,演算法絕對是很重要的。既然早晚都要學,不如就趁早開始面對它吧(所謂早死早超生) 這系列文章主要是 LeetCode 的解題筆記,每天會有一些...

鐵人賽 影片教學 DAY 1

達標好文 技術 資工系在學些什麼,有用嗎?

大家好: 我是紫楓,之前曾經在巴哈姆特發表一個關於軟體工程師,問都給問的文 其中有很多個問題是關於 我是學生,我該學什麼? 我想轉職,我該學什麼? 我想精益求...

達標好文 技術 Week11 - 讓遞迴的Stack永遠不會爆炸的「尾遞迴」真的有那麼神奇嗎 - 尾遞迴篇 [高智能方程式系列]

本文章同時發佈於: Medium iT邦幫忙 大家好,最近因為有一位朋友提到尾遞迴,說這個優化技術「可以讓遞迴跑個一百萬次都沒問題」,驚呆的我,就花...

鐵人賽 Software Development DAY 24
從0開始學習程式-Python 系列 第 25 篇

技術 [Day28] 實例演練Leetcode239

Leecode 239. Sliding Window Maximum Given an array nums, there is a sliding win...

鐵人賽 Software Development DAY 14

技術 Day 14 - 連線的加密 (二)

加密連線的方式有很多種,像是使用 HTTP 協定可以透過 HTTPS 之類來加密,運氣不錯的事 SRP 算是容易理解而他的應用也在 OpenSSL 和一些雲端服...

鐵人賽 Software Development DAY 17

技術 [守] 你需要的是資料結構, 演算法與物件導向概念的加持

之前有說過我們團隊每週會刷leetcode,幾乎1000題內都是在考資料結構+演算法,資料結構像是你身上裝備的武器,而演算法則是你真正的武功。而物件導向/設計模...

鐵人賽 AI & Data DAY 22
人工智慧 vs.工人智慧 系列 第 22 篇

技術 Day 22:分類氣 (二)

今天來講一下分類器評估的方式。 一般常見的評估法 (evaluation) 有蠻多資料可以參考,在這裡就是快速的說而已,並不會琢磨太多。主要要講解的會是我們採用...

鐵人賽 自我挑戰組 DAY 6

技術 希爾排序法(Shell Sort)

希爾排序法其實是優化版的插入排序法,插入排序法只能跟左方一個數值比對,而希爾排序法則是先取一個Gap值作為選取左方數值的間隔值,然後進行比對排序,而Gap在每...

鐵人賽 自我挑戰組 DAY 4

技術 選擇排序法(Selection Sort)

選擇排序法,主要精神在迴圈找尋選擇最小值,然後將最小值與第一個值交換。 假設有一陣列[7,5,1,20,8],並假設最小值是第一個數值(7),第一個數值就與...

鐵人賽 Software Development DAY 30
從LeetCode學演算法 系列 第 30 篇

達標好文 技術 [Day 30] 從LeetCode學演算法 - 結語:從Leetcode學演算法,談軟工與人生

寫在前面的碎碎念: 終於要完賽了~~ 首先容許筆者自我工商一下,如果喜歡這一系列的文章,我也有陸續寫新的文章,放在我的Medium中,有興趣的歡迎光臨XD~ 其...

鐵人賽 Software Development DAY 29
從LeetCode學演算法 系列 第 29 篇

技術 [Day 29] 從LeetCode學演算法 - 0198. House Robber (Easy)

目標:這題主要目的在於幫助讀者熟悉具備不確定條件的DP題目。 原題: Question: You are a professional robber plann...

鐵人賽 Software Development DAY 28
從LeetCode學演算法 系列 第 28 篇

技術 [Day 28] 從LeetCode學演算法 - 0189. Rotate Array (Easy)

目標:這題主要目的同樣是協助讀者熟悉陣列操作。 原題: Question: Given an array, rotate the array to the ri...

鐵人賽 Software Development DAY 27
從LeetCode學演算法 系列 第 27 篇

技術 [Day 27] 從LeetCode學演算法 - 0096. Unique Binary Search Trees (Medium)

目標:這題主要目的在於再進一步引導讀者去思考如何做出一個適合dp的鏈結關係。 原題: Question: Given n, how many structura...

鐵人賽 Software Development DAY 26
從LeetCode學演算法 系列 第 26 篇

技術 [Day 26] 從LeetCode學演算法 - 0283. Move Zeroes (Easy)

目標:這題主要目的在於讓讀者繼續熟悉一些陣列的常用操作及方法。 原題: Question: Given an array nums, write a funct...

鐵人賽 Software Development DAY 25
從LeetCode學演算法 系列 第 25 篇

技術 [Day 25] 從LeetCode學演算法 - 0063. Unique Paths II (Medium)

目標:這題主要目的在於延伸前面解過的題目,再進行一點變化,同樣屬於DP的範疇。 原題: Question: A robot is located at the...

鐵人賽 Software Development DAY 24
從LeetCode學演算法 系列 第 24 篇

技術 [Day 24] 從LeetCode學演算法 - 0229. Majority Element II (Medium)

目標:這題主要目的在於進一步討論摩爾投票算法的延伸。 原題: Question: Given an integer array of size n, find...

鐵人賽 Software Development DAY 23
從LeetCode學演算法 系列 第 23 篇

技術 [Day 23] 從LeetCode學演算法 - 0169. Majority Element (Easy)

目標:這題主要目的在於介紹一個特別的演算法,它叫做Boyer–Moore majority vote algorithm(摩爾投票算法)。同時,接下來也會多介紹...

鐵人賽 Software Development DAY 22
從LeetCode學演算法 系列 第 22 篇

技術 [Day 22] 從LeetCode學演算法 - 0062. Unique Paths (Medium)

目標:這題主要目的在於進一步講解需要二維陣列輔助解的DP問題。 原題: Question: A robot is located at the top-left...

鐵人賽 Software Development DAY 21
從LeetCode學演算法 系列 第 21 篇

技術 [Day 21] 從LeetCode學演算法 - 0110. Balanced Binary Tree (Easy)

目標:這題主要目的在於了解平衡樹的觀念,並幫助讀者學習如何考慮一棵樹在高度平衡時的操作所需的時間複雜度。 原題: Question: Given a binar...

鐵人賽 Software Development DAY 20
從LeetCode學演算法 系列 第 20 篇

技術 [Day 20] 從LeetCode學演算法 - 0111. Minimum Depth of Binary Tree (Easy)

目標:這題主要目的在於讓讀者更清楚樹的深度(depth)的觀念。 原題: Question: Given a binary tree, find its min...

鐵人賽 Software Development DAY 19
從LeetCode學演算法 系列 第 19 篇

技術 [Day 19] 從LeetCode學演算法 - 0124. Binary Tree Maximum Path Sum (Hard)

目標:這題主要目的在於進階探索Tree較複雜的問題。 原題: Question: Given a non-empty binary tree, find the...

鐵人賽 Software Development DAY 18
從LeetCode學演算法 系列 第 18 篇

技術 [Day 18] 從LeetCode學演算法 - 0094. Binary Tree Inorder Traversal (Medium)

目標:這題主要目的在於介紹二元樹的中序走訪,同時用stack結構來講解迭代解的思路。 原題: Question: Given a binary tree, re...

鐵人賽 Software Development DAY 17
從LeetCode學演算法 系列 第 17 篇

技術 [Day 17] 從LeetCode學演算法 - 0098. Validate Binary Search Tree (Medium)

目標:這題主要目的在於介紹二元樹中最常見實用的類別:二元搜尋樹(Binary Search Tree) 原題: Question: Given a binary...

鐵人賽 Software Development DAY 16
從LeetCode學演算法 系列 第 16 篇

技術 [Day 16] 從LeetCode學演算法 - 0136. Single Number (Easy)

目標:這題主要目的在於透過題目來介紹前面提過的Bitwise Operation的應用。 原題: Question: Given a non-empty arr...