原创 劍指offer系列——和爲S的連續正數序列

題目描述 小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和爲100(至少包括兩個數)。沒多久,他就得到另一組連續正數和爲10

原创 LeetCode刷題系列——最長有效括號

前言 最近被新型冠狀病毒搞得人心惶惶,大家都不太敢出門,我也不敢出門(哈哈哈),索性就在家裏刷了一道leetcode的簡單題——有效的括號(leetcode20題),說簡單也不簡單,說難也不難,刷完之後覺得意猶未盡。然後再刷了一

原创 神級遍歷——morris

morris遍歷介紹 morris遍歷是二叉樹遍歷算法的超強進階算法,跟遞歸、非遞歸(棧實現)的空間複雜度,morris遍歷可以將非遞歸遍歷中的空間複雜度降爲O(1)。從而實現時間複雜度爲O(N),而空間複雜度爲O(1)的精妙算

原创 荷蘭國旗問題&快排&BFPRT算法

荷蘭國旗問題 給定一個數組arr和一個數num,請把小於num的數放在數組的左邊,等於num的數放在數組的中間,大於num的數放在數組的右邊。要求額外空間複雜度爲O(1),時間複雜度爲O(N) 解決思路 初始化less=-1,

原创 LeetCode刷題系列——K個一組翻轉鏈表

題目描述 思路(看圖看代碼) 代碼 package leetcode; /** * @author god-jiang * @date 2020/2/14 11:21 */ public class ReverseK

原创 劍指offer系列——數值的整數次方

題目描述 實現函數double Power(double base, int exponent),求base的exponent次方。不得使用庫函數,同時不需要考慮大數問題。 輸入輸出 示例1: 輸入:2.00000 10 輸出

原创 神級算法——二分天下

二分查找 二分查找也稱折半查找(Binary Search),它是一種效率較高得查找方法。一般都是要求線性表有序,然後二分查找的時間複雜度爲O(logN)。 不一樣的二分 如果數組無序,難道就不能用二分查找了嗎?答案是否定的