原创 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