原创 【java】二叉樹重建

輸入二叉樹的後序遍歷和中序遍歷,輸出它的先序遍歷。 樣例輸入: ACBFGED ABCDEFG CDAB CBAD 樣例輸出: DBACEGF BCAD import java.util.Scanner; public

原创 【java】選擇區間 區間選點

選擇區間 數軸上有n個開區間(ai,bi),選擇儘量多個區間,使得這些區間兩兩沒有公共點。 樣例輸入; 5 1,4 5,6 3,4 6,7 4,5 樣例輸出: 1,4 4,5 5,6 6,7 import java.util.Scanne

原创 【java】拓撲排序

輸入m以及n個二元組(u,v),其中m表示元素個數,(u,v)表示表示元素u必須在元素v之前,輸出從小到大可能的排序,任意一種即可。 樣例輸入: 4 3 0,1 2,1 3,2 2 2 1,0 0,1 樣例輸出: 3201 false

原创 【java】黑白圖像

輸入一個n*n的黑白圖像,統計其中黑色八連塊的個數,0代表白,1代表黑。 樣例輸入: 6 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 樣例

原创 【java】歸併排序 逆序對數

歸併排序 按照分治三步法,介紹歸併排序步驟: 劃分問題:把序列分成元素個數儘量相等的兩半; 遞歸求解:把兩半元素分別排序; 合併問題:把兩個有序表合併成一個。 前兩部分容易完成,關鍵在於如何合併問題。 歸併排序代碼: import jav

原创 【java】全排列 枚舉子集

全排列: 輸入一個包含n個字符的字符串,輸出該字符串的全排列。 樣例輸入: abc ab 樣例輸出: abc acb bac bca cab cba ab ba import java.util.Scanner; import java

原创 【java】N皇后問題

在一個N*N的棋盤上放置N個皇后,使她們互相不在同行同列,或同對角線,輸出有多少種可能。 樣例輸入: 3 8 樣例輸出: 0 92 import java.util.Scanner; public class Main { publ

原创 【java】Huffman編碼

輸入n個字符以及它的頻率,輸出對應的Huffman編碼。 樣例輸入: 6 a,45 b,13 c,12 d,16 e,9 f,5 樣例輸出: a:0 c:100 b:101 f:1100 e:1101 d:111 import java.

原创 【java】八數碼問題

編號爲1~8的正方形方塊擺成3行3列,每次可以把與空格相鄰的滑塊移動到空格中,而原來的位置就成爲了新的空格,給定初始局面和目標局面,計算出最少的移動步數。 2 6 4 1 3 7   5 8 樣例輸入: 2 6 4 1 3 7 0 5

原创 【java】二分查找 求下界 求上界

二分查找要求數組必須是有序數組,輸入數組長度n以及查找元素值key,然後輸入n個元素,輸出key所在的位置,不存在則輸出-1. 樣例輸入: 8 23 1 4 14 23 55 66 77 88 4 6 1 4 7 8 樣例輸出: 3 -1

原创 【java】走迷宮最短路徑

輸入一個n*m的迷宮,1表示空地,0表示障礙物,輸出從某個點到某個點的最短路徑 樣例輸入: 6 5 1 1 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 3 樣

原创 【java】快速排序 數組中超過一半的數字

快速排序 快速排序與歸併排序一樣,也是基於分治的思想,不同處在於 ①劃分問題的方法 在快速排序中,每次劃分以第一個數字爲基準pivot,將數組劃分爲兩部分,左半部分的值全部<=pivot,右半部分的值全部>=pivot; 在歸併排序中,每

原创 【java】素數環

輸入正整數n,把整數1,2,3,...,n組成一個環,使得相鄰兩個整數之和均爲素數,輸出從整數1開始逆時針排列。同一個環應該只輸出一次。n<=16. 樣例輸入: 6 樣例輸出: 1 4 3 2 5 6 1 6 5 2 3 4 impor

原创 Android Activity筆記

1 Activity狀態 Activity 基本上以三種狀態存在: 繼續:此Activity位於屏幕前臺並具有用戶焦點。(有時也將此狀態稱作“運行中”。) 暫停:另一個Activity 位於屏幕前臺並具有用戶焦點,但此Activity 仍

原创 【java】揹包問題

部分揹包問題 有n個物體,第i個物體的重量爲wi,價值爲vi。在總重量不超過C的情況下讓總價值儘量高。每一個物體都可以之取走一部分,價值和重量按比例計算。 分析:貪心法即可求得最優解。貪心策略是優先拿“價值除以重量的值”最大的,直到重量和