原创 IDEA猥瑣破解法
版本:2018.1.5 下載:https://download.csdn.net/download/weixin_41539636/10637655 破解工具:https://pan.baidu.com/s/1O3wAJVXjuj-eFs
原创 使用遞歸進行二分查找
查找前提:數組元素有序 package interview.yizhidu.com; import org.junit.Test; public class BinarySearch { @Test public voi
原创 編程規範
1,使用衛語句替代if else: 實例1: 原代碼: if(object != null){ doSomething(); } 轉換成衛語句以後的代碼如下: if(object == null){ return; } d
原创 如何求解金礦問題(動態規劃算法)
參考:程序員小灰 參考02:漫畫:什麼是動態規劃?(整合版) package chapter5.part11; import org.junit.Test; public class GoldMiningTest { @T
原创 如何實現大整數相加?
參考:程序員小灰 參考02:漫畫:如何實現大整數相加?(修訂版) 題目: 給出兩個很大的整數,要求實現程序求出兩個整數之和? package chapter5.part10; import org.junit.Test; publ
原创 尋找全排列的下一個數
題目:給出一個正整數,找出這個整數所有數字全排列的下一個數。即在一個整數所包含數字的全部組合中,找到一個大於且僅大於原數的新整數。舉例: 輸入12345,則返回12354。 輸入12354,則返回12453。 輸入12435,則
原创 如何用棧實現隊列?
參考: 程序員小灰 漫畫:如何用棧實現隊列? 注意transfer()是將主棧A的元素全部轉移到輔助棧B(備胎棧B)中。 package chapter5.part7; import java.util.Stack; import
原创 計數排序第1版
package chapter4.part5; import java.util.Arrays; import org.junit.Test; public class CountSortTest { @Test publ
原创 冒泡排序(第2版)
優化內容:在大循環和小循環之間增加布爾變量isSort,來判斷數組是否有序,如果有序,立即終止外層循環,之後的回合不必再繼續下去,做無用功。 package chapter4.part1; import java.util.Array
原创 如何求最大公約數?
輾轉相除法:又名歐幾里得算法(Euclidean algorithm),目的是求出兩個正整數的最大公約數。它是已知最古老的算法, 其可追溯至公元前300年前。(因爲在2個整數之間來回相除,故稱輾轉相除) 這條算法基於一個定理:兩個正整
原创 i++和++i的值和運算問題
i++;先值,後運算 ++i;先運算,後值 package chapter3.part4; import org.junit.Test; public class TestFuHao { @Test public void
原创 最小棧的實現
參考:程序員小灰 參考2:漫畫算法:最小棧的實現 package chapter5.part3; import java.util.Stack; public class MinimumStack { private Stac
原创 快速排序之雙邊循環法
參考:程序員小灰 快速排序簡稱快排,快速排序的平均時間複雜度爲O(n log n),比起時間複雜度O(n^n)如冒泡排序,省了非常多的運行時間,故稱快速排序。 快速排序的思路是分治法。 此處將採用遞歸+while雙邊循環的方式 進行書寫快
原创 如何判斷鏈表有環?
參考:程序員小灰 參考2:漫畫算法:如何判斷鏈表有環? package chapter5.part2; public class LinkedListCycleTest { public static void main(St
原创 二叉堆元素的上浮和下沉
參考: 程序員小灰 package chapter3.part3; import java.util.Arrays; import javax.swing.text.AsyncBoxView.ChildState; import