原创 第六屆華爲創新杯編程大賽-----電話號碼本的設計

package contest; import java.util.*; import java.io.*; public class Main { public static void main(String[] args)

原创 2014年4月17號於騰訊一面

通過筆試,得到騰訊的面試機會其實內心還是很欣喜的。從接到面試通知到正式面試中間隔了有三天,期間我又看了一遍筆試題,感覺自己能通過筆試實數僥倖。騰訊的筆試題涉及面比較廣,有數據機構(二叉樹、時間複雜度,排序算法),計算機網絡(子網掩碼),C

原创 LeetCode_002:Evaluate Reverse Polish Notation

package com.abuge; import java.util.Stack; /** * 需求: * 給定一組逆波蘭表達式,求其表達式的值 * 思路&步驟: * 1、利用出棧和入棧實現表達式 * 2、對運算符進行判斷,

原创 阿布學排序之直接選擇排序

package select; /** * 需求:直接選擇排序 * 方法:將數據分爲有序區和無序區,然後從無序區選一個最小元素,放在有序區的最後 * 步驟:設數組爲a[0...n-1] * 1、初始時,數組全爲無序區a[0...n

原创 字符串轉十六進制與十六進制轉字符串示例

package stringtohex; /** * java中使用16位(2個字節)的Unicode字符集編碼作爲字符編碼格式。 * char類型的值也可直接作爲整數類型的值來使用,但它是一個16位的無符號整數,即全部是正數,範圍是

原创 阿布學排序之快速排序

package quicksort; /** * 快速排序是一種劃分交換排序,採用了分治策略,時間複雜度爲O(NlogN),總共需要logN次選取基準數,整個是一個樹結構,每一層的複雜度是O(N),所以總共是O(NlogN) * 思想

原创 阿布學排序之堆排序

/** * 需求:堆排序的實現 * 知識儲備: * 滿二叉樹:除葉子結點外的所有結點均有兩個子結點,所有葉子結點必須在同一層上。 * 完全二叉樹: * 若二叉樹的深度爲h,除第h層外,其它各層(1~h-1)的節點數都達到最大個數

原创 阿布學排序之直接插入排序

/** * 需求:直接插入排序 * 思想:每次將一個待排序的記錄按其關鍵字大小插入到前面已經排好序的子序列中的適當位置,直到全部記錄插入完成爲止 * 步驟:設數組爲a[0..n-1] * 1、初始時,a[0]自成一個有序區,無序

原创 阿布學排序之冒泡排序

package com.abuge; /** * 冒泡排序: * 設數組長度爲N * 方法1: * 步驟:(升序) * 1、比較相鄰兩個數如果前面的數據大於後面的數據,則交換 * 2、這樣數組的第0-N-1個數據進行遍歷後,最

原创 LeetCode_001:Reverse Words in a String

package com.abuge; /** * 需求: * 輸入一個字符串,將其反轉。 * 例: * s = "the sky is blue" * return "blue is sky the" * 方法&步驟: *

原创 阿布學排序之希爾排序

package com.abuge; /** * 希爾排序: * 實質:分組插入排序,又稱爲縮小增量排序 * 思想: * 先將整個待排元素序列分割成若干個子序列(由相隔某個"增量"的元素組成的)分別進行直接插入排序,待整個序列中的

原创 阿布學排序之歸併排序

package merge; import javax.lang.model.element.Element; /** * 歸併排序: * 歸併排序的效率是比較高的,設數列長爲N,將數列分開成小數列一共需要logN步,每步都是一個

原创 判斷一個字符串中的字符是否唯一(只用基本數據結構)

題目 原文: Implement an algorithm to determine if a string has all unique characters. What if you can not use additional

原创 《程序員面試金典》之壓縮字符串

package com.abuge; /** * 需求: * 利用字符重複出現的次數,編寫一個方法,實現基本的字符串壓縮功能,若壓縮後的字符串沒有變短,則返回原先的字符串。 * 如:aabccccaaa會變爲a2b1c5a3 *