[HackerRank]快速排序法的執行時間(Running Time of Quicksort) 2018 年 9 月 23 日 Magic Len 程式解題、 Java 承上題,藉由統計位移或是交換元素的次數來計算快速排序法和插入排序法的執行次數,來比較每次都以最尾端的元素作為支點的快速排序法究竟比插入排序法快多少。 繼續閱讀
[HackerRank]快速排序3─原地的快速排序法(Quicksort In-Place) 2018 年 9 月 23 日 Magic Len 程式解題、 Java 在上一題中,實作了完整的快速排序法,能成功將一個陣列排序完成。但是這個演算法在劃分的時候需要將元素儲存到新的陣列中,浪費了許多時間和空間。為了進行優化,我們必須替快速排序法實作出一個「原地」(in-place)的版本,讓它能夠只使用陣列自身的空間來完成排序。 繼續閱讀
[HackerRank]夏洛克和陣列(Sherlock and Watson) 2018 年 7 月 5 日 Magic Len 程式解題、 Java 約翰‧華生替整數陣列做出了一種運算方式,稱為「右循環旋轉」。這種運算方式,可以將陣列最右邊的元素移出,並插入到陣列的最左邊。他為了要考驗夏洛克的能力,會給夏洛克一個整數陣列,接著再告訴夏洛克進行「右循環旋轉」的次數之後,再給幾個陣列的索引值,問夏洛克此時陣列的每個索引值所對應的元素值是多少。 繼續閱讀
[HackerRank]福爾摩斯和數對(Sherlock and Pairs) 2018 年 7 月 2 日 Magic Len 程式解題、 Java 華生給了夏洛克‧福爾摩斯一個包含N個整數的陣列,然後華生問夏洛克存在多少組數對(i, j),其索引值並不相同,但元素值是相同的。 繼續閱讀
[HackerRank]最接近的數字(Closest Numbers) 2018 年 6 月 28 日 Magic Len 程式解題、 Java 給定一個未排序的整數陣列,您可以找出一組差的絕對值最小的元素嗎?如果有好幾組元素差的絕對值都一樣小,那就把它們全都找出來吧! 繼續閱讀
[HackerRank]尋找中位數(Find the Median) 2018 年 6 月 25 日 Magic Len 程式解題、 Java 給定一個擁有奇數數量元素的陣列,你能夠在陣列整個排序好之前就找出它的中位數(中間值)嗎? 繼續閱讀
[HackerRank]快速排序2─排序(Quicksort 2 - Sorting) 2018 年 6 月 23 日 Magic Len 程式解題、 Java 在上一題中,你已經知道如何將一個集合劃分為left(左邊)、right(右邊)或是equal(相等)三個集合了。你能夠重複進行劃分的動作,來完成整個集合的排序嗎? 繼續閱讀
[HackerRank]快速排序1─劃分(Quicksort 1 - Partition) 2017 年 10 月 18 日 Magic Len 程式解題、 Java 給定一個陣列ar和一個支點p,p=ar[0],並將陣列ar依據支點p劃分為left(左邊)、right(右邊)或是equal(相等)。left為小於支點p的所有元素,right為大於支點p的所有元素,equal為等於支點p的所有元素(包含支點p)。 繼續閱讀
[HackerRank]完整的計數排序(The Full Counting Sort) 2017 年 10 月 4 日 Magic Len 程式解題、 Java 使用計數排序法依據清單上每個項目的整數數值來排序清單,並且保留整數相同之項目的原始順序。排序後依序輸出原本輸入清單之後半段項目的字串內容,前半段的項目只要輸出減號「-」即可。 繼續閱讀
[HackerRank]權力遊戲I(Game of Thrones - I) 2017 年 10 月 3 日 Magic Len 程式解題、 Java 多斯拉其語正在計劃發動一個攻擊來竄取羅伯特國王的王位。羅伯特國王從烏鴉那得知了這場陰謀。並計劃鎖住敵人唯一能通過的那扇門。然而,要鎖住那扇門必須要有一個鑰匙,這個鑰匙是一個回文字串的變位詞。請幫助他判斷一個字串的變位詞是否為回文。 繼續閱讀