原创 枚舉類型和位標誌

一、枚舉類型   枚舉類型(enumerated types)定義了一組"符號名稱/值"配對。   例如,以下Color類型定義了一組符號,每個符號都標識一種顏色: internal enum Color { While,

原创 冒泡排序

思路:排序後的數組從小到大排列,每次相鄰的兩個數比較,把更大的數後移,每次都會得出未排序部分中最大的數。語句的總執行次數爲a1=n,d=1的等差數列的和,所以時間複雜度爲:O(n^2)。代碼如下:public static int[] B

原创 詳細區分類繼承的各種形式

在繼承中有new、override、構造函數等等不同的形式,這篇文章就是爲了區分在這些情況下調用的到底是哪個類的什麼方法,加深對類繼承的理解。長文閱讀,大部分是代碼。new、override是對類中的成員使用的,這裏以方法示例,其它成員如

原创 插入排序

思路:每次都與前面的一個數比,若更小,則將兩數的位置交換,直到前面的數比它小。依次循環,直到最後一個數排好。時間複雜度:O(n^2)。代碼如下:static void Main(string[] args) {

原创 選擇排序

思路:每次把未排序序列中最小的數放在最前面,直到未排序序列爲空,即,每次把最小的數找出來。時間複雜度:O(n^2)。代碼如下:static void Main(string[] args) { in

原创 unity小技巧

1、編輯時鏡頭跟隨選中物件:在Scene界面中選中物件按F,鏡頭就會對準選中物件,並使其在Scene窗口中居中,如果在拖動物件時,要讓鏡頭跟隨物件移動,選中物體後按Shift+F即可。 2、Unity死機未保存場景:當你在Unity中編輯

原创 劍指Offer——實現單例模式

題目:設計一個類,我們只能生成該類的一個實例。解法一:只適用於單線程代碼如下:public sealed class SingleTon1 { public static void Print()

原创 LeetCode 01 兩數之和

題目:給定一個整數數組和一個目標值,找出數組中和爲目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例:給定 nums = [2, 7, 11, 15], target = 9 因爲 nums[0] + n

原创 LeetCode 02 兩數之和 II - 輸入有序數組

題目:給定一個已按照升序排列 的有序數組,找到兩個數使得它們相加之和等於目標數。函數應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明:返回的下標值(index1 和 index2)不是

原创 LeetCode 03 Two_Sum_III___Data_structure_design

問題:Design and implement a TwoSum class. It should support the following operations:add and find.add - Add the number to

原创 劍指Offer——合併數組

題目描述:有兩個排序的數組A1和A2,內存在A1的末尾有足夠多的空餘空間容納A2。請實現一個函數,把A2中的所有數字插入A1中,並且所有數字是排序的。分析:因爲兩個數組都已經排序了,切A1的末尾有足夠的空間,那我們就從末尾這個角度來解。從

原创 LeetCode——存在重複元素 II

題目描述:給定一個整數數組和一個整數 k,判斷數組中是否存在兩個不同的索引 i 和 j,使得 nums [i] = nums [j],並且 i 和 j 的差的絕對值最大爲 k。解題思路:可以參考存在重複元素 I的解法,只需要改動一下。只取

原创 劍指Offer——從尾到頭打印鏈表

題目描述:輸入一個鏈表的頭結點,從尾到頭反過來打印出每個節點的值。分析:從尾到頭打印,那就是先進後出,根據這個可以想想能不能用棧實現,這個是可以的。先按順序把節點的值入棧,所有值入棧之後再出棧,直到棧爲空。除了使用棧之外還有什麼方法嗎?有

原创 詳解Victor3.Lerp

完整的寫法:public static Vector3 Lerp(Vector3 a,Vector3 b,float t);首先看一下API是怎麼說的:Linearly interpolates between two vectors.

原创 劍指Offer——替換空格

題目描述:請實現一個函數,把字符串中的每個空格替換成"%20"。分析:首先,要將字符串轉換成字符數組,再進行替換。不過在c#中,數組一旦初始化了,就無法再改變存儲空間的大小,所以我用了兩個字符數組。然後怎麼替換呢?可以掃描到空格後將後面的