原创 《寫給大忙人看的Java核心技術》第一章練習

1.寫個程序,它讀取一個整數,並以二級制、八進制、十六進制輸出。以十六進制浮點數輸出倒數。十進制轉二進制和轉八進制類似,所以就給出轉二進制方法。在Java中十進制轉二進制有三種方法。第一種 除基倒取餘法這是最符合我們平時的數學邏輯思維的,

原创 Java數據結構和算法(六)—遞歸

遞歸的定義遞歸,就是在運行的過程中調用自己。  遞歸必須要有三個要素:  ①、邊界條件  ②、遞歸前進段  ③、遞歸返回段  當邊界條件不滿足時,遞歸前進;當邊界條件滿足時,遞歸返回。實例:利用遞歸求一個數的階乘n! = n*(n-1)*

原创 Java數據結構和算法(五)——鏈表

鏈表我們知道數組是一種通用的數據結構,能用來實現棧、隊列等很多數據結構。而鏈表也是一種使用廣泛的通用數據結構,它也可以用來作爲實現棧、隊列等數據結構的基礎,基本上除非需要頻繁的通過下標來隨機訪問各個數據,否則很多使用數組的地方都可以用

原创 Java數據結構和算法—快速排序

快速排序快速排序(Quicksort)是對冒泡排序的一種改進。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然

原创 Java數據結構和算法(三)--棧

棧(英語:stack)又稱爲堆棧或堆疊,棧作爲一種數據結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照先進後出的原則存儲數據,先進入的數據被壓入棧底,最後的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據(最後一個數據被第一

原创 Java數據結構和算法—堆

堆(英語:heap)是計算機科學中一類特殊的數據結構的統稱。堆通常是一個可以被看做一棵樹的數組對象。堆總是滿足下列性質:堆中某個節點的值總是不大於或不小於其父節點的值;堆總是一棵完全二叉樹首先我們要知道用數組表示堆的一些要點。若數組中

原创 Java數據結構(一)--數組

      所有的程序員都說數據結構和算法十分重要,是程序的靈魂。如果把一個可以解決某個特定問題的程序比作人的身體,那麼數據結構和算法就是這具身體的靈魂、大腦。好的數據結構好比現實生活中的天才,那麼不好的數據結構和算法就是現實生活中的腦殘

原创 《劍指office》和爲S的連續正數序列

題目描述小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和爲100(至少包括兩個數)。沒多久,他就得到另一組連續正數和爲100的序列

原创 《劍指office》數組的逆序列

題目描述在數組中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個數組中的逆序對的總數P。並將P對1000000007取模的結果輸出。 即輸出P%1000000007思路:看到這個題目,我們

原创 《劍指office》連續子數組的最大和

題目描述HZ偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了:在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全爲正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並

原创 Java數據結構和算法(四)--隊列

隊列的基本概念  隊列(queue)是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,隊列是一種操作受限制的線性表。進行插入操作的端稱爲隊尾,進行刪除操作的端

原创 《劍指office》整數中1出現的次數

題目描述求出1~13的整數中1出現的次數,並算出100~1300的整數中1出現的次數?爲此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對於後面問題他就沒轍了。ACMer希望你們幫幫他,並把問題更

原创 《劍指office》把數組排成最小的數

題目描述輸入一個正整數數組,把數組裏所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。例如輸入數組{3,32,321},則打印出這三個數字能排成的最小數字爲321323。思路:本題的思路比較有跳躍性,需要理解,要求使得得

原创 《劍指office》兩個鏈表的第一個公共結點

題目描述輸入兩個鏈表,找出它們的第一個公共結點。鏈表的定義如下:/*public class ListNode {    int val;    ListNode next = null;    ListNode(int val) {

原创 《劍指office》第一個只出現一次的字符

題目描述在一個字符串(1<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置思路:爲了解決這個問題,我們可以定義一個有序哈希表(外部空間),其鍵值(Key)是字符,當哈希標準沒有該字符時值(Val