Finished RecursiveExrcise
This commit is contained in:
parent
bfd2e95a10
commit
c88ac94cc1
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -2,7 +2,7 @@
|
|||
public class MotzkinNumber {
|
||||
|
||||
public static void main(String[] args) {
|
||||
for(int i=0;i<=20;i++)System.out.format("%d:%d\n",i,M(i));
|
||||
for(int i=0;i<=20;i++)System.out.format("%d:%d%n",i,M(i));
|
||||
|
||||
}
|
||||
public static int M(int n) {
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
import java.util.Arrays;
|
||||
|
||||
public class MyArrayUtil {
|
||||
// return the first data inside the array.
|
||||
public static int head(int[] a) throws Exception {
|
||||
if (a == null)
|
||||
throw new Exception("Array is empty! No head.");
|
||||
return a[0];
|
||||
}
|
||||
|
||||
// return array similar to a, but without the first data.
|
||||
public static int[] tail(int[] a) throws Exception {
|
||||
if (a == null)
|
||||
throw new Exception("Array is empty! No tail.");
|
||||
if (a.length == 1)
|
||||
return null;
|
||||
return Arrays.copyOfRange(a, 1, a.length);
|
||||
}
|
||||
|
||||
// create a new array that is like array a, but with x inserted at
|
||||
// the front.
|
||||
public static int[] addAsFirst(int x, int[] a) {
|
||||
int[] ans;
|
||||
if (a == null) {
|
||||
ans = new int[1];
|
||||
ans[0] = x;
|
||||
} else {
|
||||
ans = new int[a.length + 1];
|
||||
ans[0] = x;
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
ans[i + 1] = a[i];
|
||||
}
|
||||
}
|
||||
return ans;
|
||||
}
|
||||
|
||||
// print array contents out.
|
||||
public static void print(int[] a) {
|
||||
if (a == null) {
|
||||
System.out.println("Array is empty!");
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
System.out.print(a[i]);
|
||||
if (i != a.length - 1) {
|
||||
System.out.print(", ");
|
||||
} else {
|
||||
System.out.println(".");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,165 @@
|
|||
import java.util.Arrays;
|
||||
|
||||
public class RecursiveExercise {
|
||||
|
||||
// return an array that has all data of ht and n,
|
||||
// just like concatenating ht and n.
|
||||
public static int[] append(int[] ht, int[] n) throws Exception {
|
||||
if (ht == null)
|
||||
return n;
|
||||
if (n == null)
|
||||
return ht;
|
||||
int[] l = append(MyArrayUtil.tail(ht), n);
|
||||
int head = MyArrayUtil.head(ht);
|
||||
return MyArrayUtil.addAsFirst(head, l);
|
||||
}
|
||||
public static int[] reverse(int[] ht) throws Exception {
|
||||
// fill your code here
|
||||
if(ht == null) return null;
|
||||
if (ht.length == 1)
|
||||
return ht.clone();
|
||||
int temp = ht[0];
|
||||
ht[0] = ht[ht.length - 1];
|
||||
ht[ht.length - 1] = temp;
|
||||
return recursiveInnerSandwich(reverse(MyArrayUtil.tail(removeLast(ht, new int[ht.length-1], 0))),ht.clone());
|
||||
}
|
||||
//This method make an array sandwich excluding the bread (index 0 and index last)
|
||||
public static int[] recursiveInnerSandwich(int[] src,int[] dest) throws Exception{
|
||||
if (src==null)return dest;
|
||||
dest[dest.length-src.length-1] = src[0];
|
||||
recursiveInnerSandwich(MyArrayUtil.tail(src),dest);
|
||||
return dest;
|
||||
}
|
||||
//Remove the last element
|
||||
public static int[] removeLast(int[] ia1,int[] ia2,int i) {
|
||||
ia2[i]=ia1[i];
|
||||
if (i==ia2.length-1)return ia2;
|
||||
return removeLast(ia1,ia2,i+1);
|
||||
}
|
||||
public static boolean isIn(int x, int[] a) throws Exception {
|
||||
// fill your code here
|
||||
if (a[0] == x)
|
||||
return true;
|
||||
if (a.length == 1)
|
||||
return false;
|
||||
return isIn(x, MyArrayUtil.tail(a.clone()));
|
||||
}
|
||||
|
||||
public static boolean subArray(int[] a1, int[] a2) throws Exception {
|
||||
// fill your code here
|
||||
if (a1 == null)
|
||||
return true;
|
||||
if (isIn(a1[0], a2))
|
||||
return subArray(MyArrayUtil.tail(a1.clone()), a2);
|
||||
if (a1.length == 1)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static int[] shift(int[] ht, int n) throws Exception {
|
||||
// fill your code here
|
||||
if(ht==null)return null;
|
||||
if(n==0)return ht;
|
||||
int temp = ht[0];
|
||||
ht = insertLast(temp,MyArrayUtil.tail(ht));
|
||||
return shift(ht,n-1);
|
||||
}
|
||||
public static int[] insertLast(int val,int[] ia) throws Exception{
|
||||
return reverse(MyArrayUtil.addAsFirst(val, reverse(ia)));
|
||||
}
|
||||
public static void main(String[] args) throws Exception {
|
||||
// test append, when appending empty array with {1,2,3}
|
||||
int[] a = null;
|
||||
int[] b = { 1, 2, 3 };
|
||||
int[] ans1 = append(a, b);
|
||||
System.out.println("Append - Expected: 1, 2, 3.");
|
||||
System.out.print("Get: ");
|
||||
MyArrayUtil.print(ans1);
|
||||
System.out.println("");
|
||||
|
||||
// test append, when appending 2 non-empty arrays.
|
||||
int[] c = { 1, 2, 3 };
|
||||
int[] d = { 4, 5, 6 };
|
||||
ans1 = append(c, d);
|
||||
System.out.println("Append - Expected: 1, 2, 3, 4, 5, 6.");
|
||||
System.out.print("Get: ");
|
||||
MyArrayUtil.print(ans1);
|
||||
System.out.println("");
|
||||
|
||||
// test reverse
|
||||
int[] e = { 1, 2, 3, 4, 5 };
|
||||
ans1 = reverse(e);
|
||||
System.out.println("Reverse - Expected: 5, 4, 3, 2, 1.");
|
||||
System.out.print("Get: ");
|
||||
MyArrayUtil.print(ans1);
|
||||
System.out.println("");
|
||||
|
||||
// test isIn
|
||||
boolean b1 = isIn(3, e);
|
||||
System.out.println("isIn - Expected: true.");
|
||||
System.out.println("Get: " + b1 + ".");
|
||||
|
||||
boolean b2 = isIn(7, e);
|
||||
System.out.println("isIn - Expected: false.");
|
||||
System.out.println("Get: " + b2 + ".");
|
||||
|
||||
// test subArray
|
||||
int[] f = { 1, 3, 5 };
|
||||
int[] g = { 1, 2, 3, 4, 5 };
|
||||
int[] h = { 1, 2, 3, 4, 5 };
|
||||
int[] i = null;
|
||||
int[] j = { 1, 4, 5 };
|
||||
|
||||
b1 = subArray(f, g);
|
||||
System.out.println("subArray - Expected: true.");
|
||||
System.out.println("Get: " + b1 + ".");
|
||||
|
||||
b1 = subArray(g, h);
|
||||
System.out.println("subArray - Expected: true.");
|
||||
System.out.println("Get: " + b1 + ".");
|
||||
|
||||
b1 = subArray(i, h);
|
||||
System.out.println("subArray - Expected: true.");
|
||||
System.out.println("Get: " + b1 + ".");
|
||||
|
||||
b1 = subArray(f, j);
|
||||
System.out.println("subArray - Expected: false.");
|
||||
System.out.println("Get: " + b1 + ".");
|
||||
|
||||
b1 = subArray(h, j);
|
||||
System.out.println("subArray - Expected: false.");
|
||||
System.out.println("Get: " + b1 + ".");
|
||||
|
||||
// test shift
|
||||
int[] k = shift(g, 3);
|
||||
System.out.println("shift - Expected: 4, 5, 1, 2, 3.");
|
||||
System.out.print("Get: ");
|
||||
MyArrayUtil.print(k);
|
||||
System.out.println("");
|
||||
|
||||
k = shift(g, 2);
|
||||
System.out.println("shift - Expected: 3, 4, 5, 1, 2.");
|
||||
System.out.print("Get: ");
|
||||
MyArrayUtil.print(k);
|
||||
System.out.println("");
|
||||
|
||||
k = shift(g, 8);
|
||||
System.out.println("shift - Expected: 4, 5, 1, 2, 3.");
|
||||
System.out.print("Get: ");
|
||||
MyArrayUtil.print(k);
|
||||
System.out.println("");
|
||||
|
||||
k = shift(g, 0);
|
||||
System.out.println("shift - Expected: 1, 2, 3, 4, 5.");
|
||||
System.out.print("Get: ");
|
||||
MyArrayUtil.print(k);
|
||||
System.out.println("");
|
||||
|
||||
k = shift(null, 5);
|
||||
System.out.println("shift - Expected: Array empty");
|
||||
System.out.print("Get: ");
|
||||
MyArrayUtil.print(k);
|
||||
System.out.println("");
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,153 @@
|
|||
Mr. Prem Pattanapitoon
|
||||
Miss Praewpun Cheevamongkol
|
||||
Mr. Nutthakom Trongjitraksa
|
||||
Mr. Trivit Damrongrat
|
||||
Mr. Pasutha Daichi Ide
|
||||
Mr. Akarawut Krinukul
|
||||
Mr. Athichat Chindaudom
|
||||
Miss Claire Claude Prevost
|
||||
Miss Nao Komada
|
||||
Miss Clemence Muriel Berenice Jean-Louis Dit Montout
|
||||
Miss Kim Zaatar
|
||||
Mr. Jules Joseph Jean-Claude Victor Lestrade
|
||||
Miss Noor Kardache
|
||||
Miss Marie Charlotte Josephine Leygue
|
||||
Mr. Marin Neyret
|
||||
Miss Alice Francoise Lucienne Cabane
|
||||
Mr. Adrien Manhieu Zychowski
|
||||
Miss Aurore Marie Garrigoux-Desmoulins
|
||||
Miss Charlotte Roppelt-Saint-Lebe
|
||||
Mr. Pierre Antoine Claret
|
||||
Mr. Louis Pierre Nouguerede
|
||||
Miss Annika Ulrike Glaseke
|
||||
Mr. Kornrapee Suthicharoenpanich
|
||||
Mr. Krittanut Mongkolkulsat
|
||||
Mr. Krittapat Onthuam
|
||||
Mr. Krittapak Udompanich
|
||||
Mr. Krittaphat Maiklad
|
||||
Mr. Krittawat Archathawan
|
||||
Mr. Kritasak Udompongsanont
|
||||
Mr. Krittin Punpermcharoenkit
|
||||
Mr. Krit Uthaisang
|
||||
Mr. Gawin Lohaburananont
|
||||
Miss Kavisara Jantarakolica
|
||||
Mr. Kasidit Pratumtin
|
||||
Mr. Kongpop Panya
|
||||
Mr. Korpoj Piya-asdarat
|
||||
Mr. Gunn Kanchanaraksa
|
||||
Mr. Kan Jitpakdi
|
||||
Mr. Karnthiti Thitikarn
|
||||
Mr. Chris Vataniyapramote
|
||||
Miss Kunanya Vuthilertdacha
|
||||
Mr. Ken Kanate Wichiramala
|
||||
Mr. Krit Sanguannapaporn
|
||||
Mr. Chongchate Kumpeerichaya
|
||||
Mr. Jomphat Itsarawisut
|
||||
Mr. Jakkaphan Ekrojrattana
|
||||
Mr. Jamorn Wacharasing
|
||||
Miss Jinnipha Bhumtakwong
|
||||
Mr. Jitrabhanu Simaraks
|
||||
Mr. Jeerapat Thansuwanwong
|
||||
Mr. Jade Udomkittivorakul
|
||||
Mr. Jenwit Ratanapusdeekul
|
||||
Mr. Chatr Tharachatr
|
||||
Mr. Chonlasit Thangkasemsan
|
||||
Mr. Chanon Wanasinchai
|
||||
Mr. Chitipat Trachu
|
||||
Mr. Chuwong Kulrattanarak
|
||||
Mr. Athichat Chindaudom
|
||||
Miss Claire Claude Prevost
|
||||
Miss Nao Komada
|
||||
Miss Clemence Muriel Berenice Jean-Louis Dit Montout
|
||||
Miss Kim Zaatar
|
||||
Mr. Jules Joseph Jean-Claude Victor Lestrade
|
||||
Miss Noor Kardache
|
||||
Miss Marie Charlotte Josephine Leygue
|
||||
Mr. Marin Neyret
|
||||
Miss Alice Francoise Lucienne Cabane
|
||||
Miss Chotika Truengjitvilas
|
||||
Mr. Chotipat Chaiyarat
|
||||
Mr. Nakrit Panjasanka
|
||||
Mr. Nachanon Rimsmutchai
|
||||
Mr. Naphat Pattayanun
|
||||
Mr. Napat Suwansujira
|
||||
Mr. Napat Asavarojkul
|
||||
Mr. Natthakit Kitrueangphatchara
|
||||
Mr. Natchanon Auewetchanichkul
|
||||
Mr. Natthorn Suwannapasri
|
||||
Miss Nutthawadee Sungvonwattana
|
||||
Mr. Nattawat Chongpita
|
||||
Mr. Nattawat Pornthisan
|
||||
Mr. Natthawat Piyanonthaya
|
||||
Mr. Nuttawut Janwimaluang
|
||||
Mr. Nat Sakdasak
|
||||
Mr. Thinteerachot Hansnontchot
|
||||
Mr. Tinnawish Tungphitukkul
|
||||
Mr. Taksin Faikhao
|
||||
Mr. Thanthai Udcharchon
|
||||
Mr. Tanaseth Julerttrakul
|
||||
Mr. Thanachot Sappakit
|
||||
Mr. Thanatath Jiravanich
|
||||
Mr. Dhanabordee Mekintharanggur
|
||||
Mr. Tanabodee Wanitnunttada
|
||||
Mr. Thanapat Pornsirianant
|
||||
Mr. Tanawat Rattanagowin
|
||||
Mr. Tanat Sangwong
|
||||
Miss Tananyapat Wareechuensuk
|
||||
Miss Thanaree Rongkavilit
|
||||
Mr. Thatchapan Pianpucktr
|
||||
Mr. Tatchapol Jetanachai
|
||||
Mr. Thanyapat Khorporn
|
||||
Mr. Tanmine Mesatien
|
||||
Mr. Tissarut Suntreekasem
|
||||
Mr. Teeratat Bunsantrakul
|
||||
Mr. Noparuj Tantisoonthorn
|
||||
Mr. Noppasin Ajchareeyasoontorn
|
||||
Mr. Norrawee Charnpinyo
|
||||
Mr. Nantanit Vittayaporn
|
||||
Mr. Naris Limpapaswat
|
||||
Mr. Nittun Lertwirojkul
|
||||
Mr. Patiphol Vongsirisap
|
||||
Mr. Panoj Kamolrattanawech
|
||||
Mr. Panidh Mingmalairak
|
||||
Mr. Pathanin Runggeratigul
|
||||
Miss Papitchaya Iemtananon
|
||||
Mr. Papatchol Thientong
|
||||
Mr. Noppasin Ajchareeyasoontorn
|
||||
Mr. Norrawee Charnpinyo
|
||||
Mr. Nantanit Vittayapo
|
||||
Miss Paphawee Rattanagosol
|
||||
Miss Prapaluck Pugkhem
|
||||
Mr. Prapas Arayasaeng
|
||||
Mr. Prat Prasertsup
|
||||
Mr. Punn Damrongratnuwong
|
||||
Mr. Pannaton Kerdkaewfah
|
||||
Mr. Pannavich Setawanna
|
||||
Mr. Panud Chamnanratanakul
|
||||
Miss Pinpinut Teerawesagapawanis
|
||||
Miss Punyada Jantananont
|
||||
Mr. Bhunaron Sornklin
|
||||
Mr. Punnatt Punnotok
|
||||
Mr. Purapat Rattanatraipop
|
||||
Miss Premika Prachayamongkol
|
||||
Mr. Pongpao Nanami Pongponrat
|
||||
Mr. Pongsapak Sajjapong
|
||||
Miss Prim Viriyasopon
|
||||
Mr. Pasin Kanchanarusmeechoti
|
||||
Miss Pattanun Sangvijitr
|
||||
Mr. Pitchakorn Watcharodomprasert
|
||||
Mr. Pirat Pothavorn
|
||||
Mr. Phawat Borisuitsawat
|
||||
Mr. Peemapol Tangamonsiri
|
||||
Mr. Yodsapat Jiravipapan
|
||||
Mr. Rattanapong Wongcharoensin
|
||||
Mr. Waritnan Kositcharoensuk
|
||||
Mr. Sattra Piyapunsutti
|
||||
Mr. Supphaset Engphaiboon
|
||||
Mr. Sirapop Rojanakul
|
||||
Mr. Sukit Sukittanon
|
||||
Mr. Athit Arsirakarn
|
||||
Miss Oranich Jamkachornkiat
|
||||
Miss Unna Talomsin
|
||||
Miss Reena Lim
|
||||
Mr. Eisen Lance Tamayao De Guzman
|
Loading…
Reference in New Issue