原创 LeetCode--難度較大題型

尋找兩個有序數組的中位數 給定兩個大小爲 m 和 n 的有序數組 nums1 和 nums2。 請你找出這兩個有序數組的中位數,並且要求算法的時間複雜度爲 O(log(m + n))。 你可以假設 nums1 和 nums2 不會

原创 牛客網刷題2--python

鏈表中環的入口節點 給一個鏈表,若其中包含環,請找出該鏈表的環的入口結點,否則,輸出null。 解法 參考:https://blog.csdn.net/wszll_Alex/article/details/86741909 #

原创 常見題:無序數組中第k大的數(python)

思路一:暴力解法 先對數組排序,然後找出第k個位置 sorted(nums)[-k] 算法的時間複雜度爲 O(N log N),空間複雜度爲 O(1) 思路二:利用快排思想 (https://blog.csdn.net/wenq

原创 LeetCode--動態規劃(python)

爬樓梯 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。 示例 1: 輸入: 2 輸出: 2 解釋: 有兩種方法可以爬到樓頂。

原创 LeetCode--二叉搜索樹(python)

驗證二叉搜索樹 給定一個二叉樹,判斷其是否是一個有效的二叉搜索樹。 假設一個二叉搜索樹具有如下特徵: 節點的左子樹只包含小於當前節點的數。 節點的右子樹只包含大於當前節點的數。 所有左子樹和右子樹自身必須也是二叉搜索樹。 示例 1

原创 LeetCode--二叉樹(python)

樹的遍歷 二叉樹的前序遍歷 遞歸: # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): #

原创 LeetCode--二分法(python)

二分查找 給定一個 n 個元素有序的(升序)整型數組 nums 和一個目標值 target ,寫一個函數搜索 nums 中的 target,如果目標值存在返回下標,否則返回 -1。 示例 1: 輸入: nums = [-1,0,

原创 Leetcode--圖論(python)

單詞接龍 給定兩個單詞(beginWord 和 endWord)和一個字典,找到從 beginWord 到 endWord 的最短轉換序列的長度。轉換需遵循如下規則: 每次轉換隻能改變一個字母。 轉換過程中的中間單詞必須是字典中的

原创 Leetcode--樹(python)

二叉搜索樹中第K小的元素 給定一個二叉搜索樹,編寫一個函數 kthSmallest 來查找其中第 k 個最小的元素。 說明: 你可以假設 k 總是有效的,1 ≤ k ≤ 二叉搜索樹元素個數。 示例 1: 輸入: root = [3

原创 Leetcode--排序與檢索(python)

最大數 給定一組非負整數,重新排列它們的順序使之組成一個最大的整數。 示例 1: 輸入: [10,2] 輸出: 210 示例 2: 輸入: [3,30,34,5,9] 輸出: 9534330 說明: 輸出結果可能非常大,所以你需要

原创 Leetcode--數學、位運算(python)

直線上最多的點數 給定一個二維平面,平面上有 n 個點,求最多有多少個點在同一條直線上。 示例 1: 輸入: [[1,1],[2,2],[3,3]] 輸出: 3 解釋: ^ | | o | o | o

原创 Leetcode--鏈表(python)

排序鏈表 在 O(n log n) 時間複雜度和常數級空間複雜度下,對鏈表進行排序。 示例 1: 輸入: 4->2->1->3 輸出: 1->2->3->4 示例 2: 輸入: -1->5->3->4->0 輸出: -1->0->

原创 Leetcode--遞歸、動態規劃(python)

至少有K個重複字符的最長子串 找到給定字符串(由小寫字符組成)中的最長子串 T , 要求 T 中的每一字符出現次數都不少於 k 。輸出 T 的長度。 示例 1: 輸入: s = “aaabb”, k = 3 輸出: 3 最長子串爲

原创 Leetcode--哈希、映射(python)

Excel表列序號 給定一個Excel表格中的列名稱,返回其相應的列序號。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例 1: 輸入: “A” 輸出

原创 面試常見算法題

使數組有序的最小交換次數 問題是給出一個數組,然後數組裏面的元素可以交換,任意位置都可以交換,然後求使得該數組有序的最小交換次數。 Sample Input 1 2 4 4 3 2 1 5 1 5 4 3 2 Sample O