iT邦幫忙

程式設計相關文章
共有 1293 則文章
鐵人賽 AI & Data DAY 30

技術 [DAY30] 關於我從基礎程設轉職到人工智慧入門

完賽心得 第一次參加鐵人賽,平安度過了~自己有個習慣就是會把有關非學術類的東西都用電子筆記在記,像是使用HackMD、OneNote等等,所以其實也算已經事先囤...

鐵人賽 Kotlin DAY 30

技術 LeetCode 1143. Longest Common Subsequence

方法一:動態規劃 (DP) 解題思路 最長共同子序列問題是典型的二維動態規劃問題。例如,給定兩個字串 text1 = "abcde" 和...

鐵人賽 Kotlin DAY 29

技術 LeetCode 146. LRU Cache

破題 這題目要求我們實作一種叫做 LRU 的 cache 機制,它可以快速地存取和更新資料。 為了實作這種機制,我們需要用到兩種資料結構:一個是 hash...

鐵人賽 Kotlin DAY 28

技術 LeetCode 2108. Find First Palindromic String in the Array

破題 這個題目要在一個字串陣列中找到第一個迴文字串。迴文是指一個字串正向和反向讀都是一樣的,例如 madam。 跟一流的人才幹大事,享受成功進步的高級樂趣!...

鐵人賽 Kotlin DAY 27

技術 LeetCode 236. Lowest Common Ancestor of a Binary Tree

方法一:遞迴 解題思路 我們要找的最低公共祖先是一個節點,它同時是 p 和 q 的祖先,而且它的深度要盡量大。 我們用一個函數 來表示節點 的子樹中是否...

鐵人賽 Kotlin DAY 26

技術 LeetCode 125. Valid Palindrome

破題 本題的目的是檢查一個字串是否為迴文。迴文是指一個字串從前往後讀和從後往前讀是相同的。 跟一流的人才幹大事,享受成功進步的高級樂趣!內推機會來啦!能與優...

鐵人賽 Kotlin DAY 25

技術 LeetCode 210. Course Schedule II

破題 本題要求找出一種課程學習順序,使得每一門課程都在它的先修課程之後學習。這可以用一種叫做「拓撲排序」的方法來解決。 有向圖是一種由節點和箭頭組成的圖,箭...

鐵人賽 Kotlin DAY 24

技術 LeetCode 9. Palindrome Number

破題 這題要求我們判斷一個整數是否是迴文,換言之,它從前往後讀和從後往前讀是相同的。 跟一流的人才幹大事,享受成功進步的高級樂趣!內推機會來啦!能與優秀的程...

鐵人賽 Kotlin DAY 23

技術 LeetCode 699. Falling Squares

破題 這題要求我們模擬一系列的方塊從天空掉落到一維的數線上,並且回傳每次掉落後最高的高度。 跟一流的人才幹大事,享受成功進步的高級樂趣!內推機會來啦!能與優...

鐵人賽 Kotlin DAY 22

技術 LeetCode 218. The Skyline Problem

破題 這題是一個經典的幾何問題。給定一個建築物列表,每個建築物由其左邊界、右邊界和高度表示,我們需要找出這些建築物形成的天際線。天際線是由水平線段組成的,這些...

鐵人賽 Kotlin DAY 21

技術 LeetCode 1943. Describe the Painting

破題 這個演算法的目的是將一幅畫作分割成多個區段,每個區段都有自己的顏色。畫作由多個區段組成,每個區段都有一個起始點、結束點和顏色。如果兩個區段重疊,那麼重疊...

鐵人賽 Kotlin DAY 20

技術 LeetCode 67. Add Binary

暴力法 首先,我們考慮一種最基本的方法:將 a 和 b 轉換為十進制數,然後求和,最後再將結果轉換為二進制數。 class Solution { fu...

鐵人賽 Kotlin DAY 19

技術 LeetCode 127. Word Ladder

方法一:廣度優先搜尋 (BFS) 破題 這個問題要找出最短的轉換序列長度,當我們看到「最短」時,我們可以想到使用「廣度優先搜尋」來解決。但是,這個問題並沒有直...

鐵人賽 Kotlin DAY 18

技術 LeetCode 848. Shifting Letters

破題 這題的目標是將一個字串中的每個字母都向後移動一定的位數。移動的位數由一個整數陣列指定,該陣列的長度與字串的長度相同。例如,如果我們有一個字串 abc 和...

鐵人賽 Kotlin DAY 17

技術 LeetCode 1844. Replace All Digits with Characters

破題 這題的目標是將一個字串中的數字替換為字母。這個字串中的每個偶數 index 位置都是一個小寫字母,而每個奇數 index 位置都是一個介於 0 到 9...

鐵人賽 Kotlin DAY 16

技術 LeetCode 1569. Number of Ways to Reorder Array to get Same BST

方法一:動態規劃和組合數 預備知識 組合數是從 個物品中選出 個的不同方法數。我們用 或 來表示它。它的計算公式是: 這裡 表示 的階乘,也...

鐵人賽 Kotlin DAY 15

技術 LeetCode 215. Kth Largest Element in an Array

破題 假設:陣列的長度為 。 題意:這題是希望我們找出一個整數陣列中第 大的數字。 方法一:計數排序 (Counting Sort) 解題思路 首先,...

鐵人賽 Kotlin DAY 14

技術 LeetCode 567. Permutation in String

方法一:滑動窗口 (Sliding Window) 解題思路 首先,我們需要理解一個基本概念:如果一個字串是另一個字串的排列,那麼這兩個字串中每個字元出現的次...

鐵人賽 Kotlin DAY 13

技術 LeetCode 88. Merge Sorted Array

方法一:雙指標法 解題思路 初始化兩個指標:我們為兩個陣列 nums1 和 nums2 分別宣告一個指標,分別命名為 i 和 j。這兩個指標都會從各自陣列的...

鐵人賽 Kotlin DAY 12

技術 LeetCode 437. Path Sum III

方法一:深度優先搜尋 (DFS) 解題思路 節點訪問:我們會訪問每一個節點,並以該節點作為起始點。 路徑探索:對於每一個起始節點,我們會探索所有向下延伸...

鐵人賽 Kotlin DAY 11

技術 LeetCode 572. Subtree of Another Tree

方法一:深度優先搜尋 (DFS) 解題思路 初始化:首先,我們使用深度優先搜尋(DFS)來遍歷 s 中的每一個節點。 子樹比較:對於 s 中的每一個節點...

鐵人賽 AI & Data DAY 9

技術 [DAY9] Python基礎程式應用(二)

Pandas 用於數據處理和分析。它提供了兩種主要的數據結構,即DataFrame(類似於表格)和Series(類似於一維數組)。Pandas允許您輕鬆地讀取、...

鐵人賽 Kotlin DAY 10

技術 LeetCode 102. Binary Tree Level Order Traversal

方法一:廣度優先搜尋 (BFS) 解題思路 我們可以使用廣度優先搜尋來解決這個問題。最簡單的方法是使用一個 Pair (node, level) 來表示狀態,...

鐵人賽 Kotlin DAY 9

技術 LeetCode 108. Convert Sorted Array to Binary Search Tree

破題 首先,我們知道二元搜尋樹的一個重要特性是其中序走訪結果為遞增序列。因此,如果我們得到一個遞增陣列,我們可以確定這個陣列可以作為某個二元搜尋樹的中序走訪結...

鐵人賽 Kotlin DAY 8

技術 LeetCode 98. Validate Binary Search Tree

方法一:遞迴 解題思路 這道題目要求我們判斷一棵二元樹是否是二元搜尋樹。 二元搜尋樹的特性是,對於任意一個節點,它的左子樹上所有節點的值都小於它,而它的右子樹...

鐵人賽 Kotlin DAY 7

技術 LeetCode 110. Balanced Binary Tree

破題 這道題目中的平衡二元樹定義為:二元樹中每個節點的左右子樹高度差的絕對值不超過1。根據定義,一棵二元樹是平衡二元樹,當且僅當其所有子樹也都是平衡二元樹。因...

鐵人賽 AI & Data DAY 5

技術 Day5 老打鐵的武器鋪-我要學什麼程式語言?

終於要瞭解到武器了,有沒有很興奮呢? 但走進老打鐵的武器鋪,還沒來的及興奮,就差點被各色的光芒閃瞎了眼,好不容易適應了各種的金光閃閃,定睛看去,發現琳琅滿目的各...

鐵人賽 Kotlin DAY 6

技術 LeetCode 1971. Find if Path Exists in Graph

破題 這道題目要求我們判斷是否存在從起點到終點的有效路徑。這可以轉化為求圖中兩個頂點是否連通的問題。我們可以使用廣度優先搜尋 (BFS)、深度優先搜尋 (DF...

鐵人賽 AI & Data DAY 4

技術 [DAY4] Python基礎程式入門 (三)

今天的內容主要介紹的是列表List、元組Tuple以及字典Dictionary和集合Set,學會這些東西將會對於資料整理、爬蟲、數據分析等等許多領域都會有很多幫...

鐵人賽 Kotlin DAY 5

技術 LeetCode 2. Add Two Numbers

方法一:模擬加法 解題思路 兩個鏈結串列的數字是從個位開始存儲的,所以我們可以直接按位相加。 我們同時遍歷兩個鏈結串列,把每一位的數字和進位值相加,得到當前位...