原创 今天開始學Java 排序算法之堆排序

大頂堆用於升序排列:經過多次比較把最大的元素放到根結點(相當於找到序列裏面的最大元素),然後再將這個最大元素放到葉結點,這個葉結點就固定不動了,繼續比較其它結點,從剩下的結點裏面供一個最大元素出來放到根結點,依次循環。public cla

原创 今天開始學Java 現在有一棵合法的二叉樹,樹的節點都是用數字表示,現在給定這棵樹上所有的父子關係,求這棵樹的高度

題目描述現在有一棵合法的二叉樹,樹的節點都是用數字表示,現在給定這棵樹上所有的父子關係,求這棵樹的高度輸入描述:輸入的第一行表示節點的個數n(1 ≤ n ≤ 1000,節點的編號爲0到n-1)組成, 下面是n-1行,每行有兩個整數,第一個

原创 今天開始學Java 排序算法之歸併排序

思路:它的最直觀的想法是將兩個有序子序列通過從左到右兩兩元素相互比較的排序的方法,那麼如果使兩個子序列有序呢,那就再將這兩個子序列兩兩分,一直分下去的話最後就得到長度爲1的各個子序列,這時就相當於每個子序列都是有序的了,最後按照之前的最直

原创 今天開始學Java 二分查找算法實現

預防針:首先得是個有序的序列,然後從序列的一半開始比較,若指定元素大於mid,那麼就在mid的右邊進行查找;如果小於就在mid的左邊進行查找;如果等於就返回mid。Java代碼 public static int find(int[] a

原创 URLEncode 報錯:Unhandled exception:java.io.UnsupportedEncodingException

需要try-catch,可以加上試一試:

原创 今天開始學Java 現在現在有一臺機器,這臺機器可以接收兩種形式任務:

題目描述 現在現在有一臺機器,這臺機器可以接收兩種形式任務:(1)任務列表,任務列表裏面有N個任務,對於第i個任務,機器在Ti時間開始執行,並在1個單位時間內做完。(2)臨時任務,機器可以在任意時間接收一個臨時任務,但任

原创 今天開始學Java 匈牙利算法

原博主地址:https://blog.csdn.net/dark_scope/article/details/8880547匈牙利算法是由匈牙利數學家Edmonds於1965年提出,因而得名。匈牙利算法是基於Hall定理中充分性證明的思想

原创 今天開始學Java 字符串分割

題目描述連續輸入字符串(輸出次數爲N,字符串長度小於100),請按長度爲8拆分每個字符串後輸出到新的字符串數組,長度不是8整數倍的字符串請在後面補數字0,空字符串不處理。首先輸入一個整數,爲要輸入的字符串個數。例如:輸入:2      a

原创 今天開始學Java 給你六種面額 1、5、10、20、50、100 元的紙幣

給你六種面額 1、5、10、20、50、100 元的紙幣,假設每種幣值的數量都足夠多,編寫程序求組成N元(N爲0~10000的非負整數)的不同組合的個數。 輸入描述:輸入包括一個整數n(1 ≤ n ≤ 10000)輸出描述:輸出一個整數,

原创 今天開始學Java log2N的表示

在刷題過程中需要使用到log2N,但是java中只有log(double)N,log10等等函數,這個時候就要用到初中學到的知識了(反正我已經快忘得差不多了)首先要弄明白一個初中學到的公式log2N=logeN/loge2,logeN代表

原创 今天開始學Java 二叉樹的遍歷

import java.util.Stack;public class Tree { public class TreeNode{ int val; TreeNode right; TreeNode lef

原创 今天開始學Java 開發一個座標計算工具

題目描述開發一個座標計算工具, A表示向左移動,D表示向右移動,W表示向上移動,S表示向下移動。從(0,0)點開始移動,從輸入字符串裏面讀取一些座標,並將最終輸入結果輸出到輸出文件裏面。 輸入: 合法座標爲A(或者D或者W或者S) + 數

原创 今天開始學Java 給定n個字符串,請對n個字符串按照字典序排列。

題目描述給定n個字符串,請對n個字符串按照字典序排列。輸入描述:輸入第一行爲一個正整數n(1≤n≤1000),下面n行爲n個字符串(字符串長度≤100),字符串中只含有大小寫字母。輸出描述:數據輸出n行,輸出結果爲按照字典序排列的字符串。

原创 今天開始學Java 美團編程題——大富翁遊戲

大富翁遊戲,玩家根據骰子的點數決定走的步數,即骰子點數爲1時可以走一步,點數爲2時可以走兩步,點數爲n時可以走n步。求玩家走到第n步(n<=骰子最大點數且是方法的唯一入參)時,總共有多少種投骰子的方法。 輸入描述:輸入包括一個整數n,(1

原创 今天開始學Java geohash編碼

geohash編碼:geohash常用於將二維的經緯度轉換爲字符串,分爲兩步:第一步是經緯度的二進制編碼,第二步是base32轉碼。 此題考察緯度的二進制編碼:算法對緯度[-90,90]通過二分法進行無限逼