原创 分別使用插入排序、合併排序、快排對隨機生成的若干整數序列進行排序,並統計各種情況下排序所耗費的時間。

分別使用插入排序、合併排序、快排對隨機生成的若干整數序列進行排序,並統計各種情況下排序所耗費的時間。 #include<iostream> using namespace std; #include<ctime> //time()

原创 最大元和最小元(直接求解法和分治法)

給定一個數組,求數組中的最大元和最小元(即最大值和最小值) 法1:直接求解 #include<iostream> using namespace std; int main(){ int n,a[100]; cin>>n;

原创 金幣問題(國王將金幣作爲工資,發放給忠誠的騎士。)

題目描述 國王將金幣作爲工資,發放給忠誠的騎士。第一天,騎士收到一枚金幣;之後兩天(第二天和第三天),每天收到兩枚金幣;之後三天(第四、五、六天),每天收到三枚金幣;之後四天(第七、八、九、十天),每天收到四枚金幣……;這種工資發

原创 手把手教你使用Git,包括git的安裝、設置、操作(創建倉庫、提交到github、版本回退等)

手把手教你使用Git Git是分佈式版本控制系統,那麼它就沒有中央服務器的,每個人的電腦就是一個完整的版本庫,這樣,工作的時候就不 需要聯網了,因爲版本都是在自己的電腦上。既然每個人的電腦都有一個完整的版本庫,那多個人

原创 mysql數據庫導入.sql文件(包含大量數據,解決中文亂碼)

mysql數據庫導入.sql文件(包含大量數據,解決中文亂碼) 這幾天在做一個項目,需要導入.sql文件,文件比較大,使用Navicat等工具導入的話,會出錯,會有亂碼等。找了半天,最後這種方式個人覺得是比較簡單的。 1、在mys

原创 兩數之和

兩數之和 給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個數組中同樣的元素。 public

原创 尋找重複數

尋找重複數 給定一個包含 n + 1 個整數的數組 nums,其數字都在 1 到 n 之間(包括 1 和 n),可知至少存在一個重複的整數。假設只有一個重複的整數,找出這個重複的數。 說明: 不能更改原數組(假設數組是隻讀的)。

原创 最大子序列和

最大子序列和 給定(可能有負的)整數A1,A2,…,AN,求子序列和的最大值。 例如:對於輸入-2,11,-4,13,-5,-2,答案爲20(從A2到A4) 法1:窮舉所有的可能 時間複雜度爲 O(n^{3}) public

原创 刪除數組中的重複項

刪除數組中的重複項 使用雙指針,i爲慢指針,j爲快指針。 只要nums[i]==nums[j],j就增加跳過重複項. public int removeDuplicates(int[] nums) { int i

原创 買股票的最佳時期

買股票的最佳時期 與求最大子序列和做法一樣,直接使用動態規劃 時間複雜度爲O(n) public int maxProfit(int[] prices) { int []a=new int[prices.leng

原创 第7章繼承

第7章繼承 理解繼承的基礎知識、調用超類構造函數、使用super訪問超類成員、創建多級類層次結構、瞭解何時調用構造函數、理解子類對象的超類引用、重寫方法、使用重寫方法實現動態方法分配、使用抽象類、使用final、瞭解Object類

原创 漢明距離

漢明距離 兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。給出兩個整數 x 和 y,計算它們之間的漢明距離。 解題思路:先分別把x和y轉化爲二進制,然後二進制數組對應位置的元素的異或結果相加,得到的就是漢明距離

原创 求最大公約數

求最大公約數 /* 歐幾里得法求最大公約數 除數當被除數 餘數當除數 直到餘數爲0,返回除數 */ public class gcd { public static int gcd1(int m,int n){

原创 第4章類、對象和方法

第4章類、對象和方法 瞭解類的基礎知識、瞭解如何創建類、理解如何給引用變量賦值、創建方法,返回值,並使用形參,使用return關鍵字、從方法返回值、向方法添加形參,使用構造函數,創建帶形參的構造函數。 這一章也是比較基礎的,主要收

原创 第5章其他數據類型和運算符

第5章其他數據類型和運算符 理解並創建數組、創建多維數組、創建不規則數組、瞭解另一種數組的聲明語法、數組引用賦值、使用length數組成員、使用for-each形式的for循環、使用字符串、應用命令形參。 方法重載是Java實現多