原创 魔術索引I

題目:在數組A[0..n-1]中,有所謂的魔術索引,滿足條件A[i]=i。給定一個升序數組,元素值各不相同,編寫一個方法,判斷在數組A中是否存在魔術索引。請思考一種複雜度優於o(n)的方法。給定一個int數組A和int n代表數組大小,請

原创 【leetcode-83】Remove Duplicates from Sorted List

題目:刪除有序鏈表中重複的元素,對於重複的元素只保留一個。比如Given 1->1->2, return 1->2。Given 1->1->2->3->3, return 1->2->3。 思路:題目很簡單,就是設定2個指針,一前一後比較

原创 二叉樹平衡檢查

題目:實現一個函數,檢查二叉樹是否平衡,平衡的定義如下,對於樹中的任意一個結點,其兩顆子樹的高度差不超過1。給定指向樹根結點的指針TreeNode* root,請返回一個bool,代表這棵樹是否平衡。 思路:根據題目定義,子樹的高度差超

原创 清除行列

題目:請編寫一個算法,若MxN矩陣中某個元素爲0,則將其所在的行與列清零。給定一個MxN的int[][]矩陣(C++中爲vector>)mat和矩陣的階數n,請返回完成操作後的int[][]矩陣(C++中爲vector>),保證n小於等於

原创 有序數組合並

題目:有兩個從小到大排序以後的數組A和B,其中A的末端有足夠的緩衝空容納B。請編寫一個方法,將B合併入A並排序。給定兩個有序int數組A和B,A中的緩衝空用0填充,同時給定A和B的真實大小int n和int m,請返回合併後的數組。 思路

原创 c++寬字符處理

c++中寬字符的處理,一個寬字符佔用兩個字節,實例代碼如下 #include<iostream> #include<stdlib.h> #include<locale> using namespace std; void main(){

原创 訪問單個節點的刪除

題目:實現一個算法,刪除單向鏈表中間的某個結點,假定你只能訪問該結點。給定帶刪除的節點,請執行刪除操作,若該節點爲尾節點,返回false,否則返回true 分析:對於單向鏈表,要刪除一個節點A,只要找到節點A的前驅節點AA,然後修改AA指

原创 【leetcode】Minimum Depth of Binary Tree

題目描述 Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from

原创 找出字符串中第一個只出現一次的字符

題目:找出字符串中第一個只出現一次的字符,如果無此字符 輸出'.' 輸入:輸入一串字符 輸出:只出現一次的字符 思路:有很多方法,比如申請一個int數組標示每個字符是否是重複 #include <stdio.h> #include <s

原创 層次聚類算法

   層次聚類算法是一個應用廣泛的算法,小編最近要做對比實驗,實現了其中一個版本,爲了驗證實驗效果,結合我國各省會城市之間的距離,對省進行聚類看看效果如何。所有本文從3部分來介紹,首先簡介層次聚類算法,然後講解其實現原理,最後結合一個實例

原创 linux下處理txt中中文亂碼的方法

   最近遇到.txt文件在windows下中文顯示正常,然後我傳入到Linux下時,中文顯示亂碼,英文字符和數字顯示正常。如下圖是在windows下的顯示       然而在linux下顯示如下(我已經設置utf-8格式)     

原创 數組中重複的數

題目:在一個長度爲n的數組裏的所有數字都在0到n-1的範圍內。 數組中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出數組中任意一個重複的數字。 例如,如果輸入長度爲7的數組{2,3,1,0,2,5,3},那

原创 確定字符互異

題目:請實現一個算法,確定一個字符串的所有字符是否全都不同。這裏我們要求不允許使用額外的存儲結構。給定一個string iniString,請返回一個bool值,True代表所有字符全都不同,False代表存在相同的字符。保證字符串中的字

原创 碰撞的螞蟻

題目:在n個頂點的多邊形上有n只螞蟻,這些螞蟻同時開始沿着多邊形的邊爬行,請求出這些螞蟻相撞的概率。(這裏的相撞是指存在任意兩隻螞蟻會相撞) 給定一個int n(3<=n<=10000),代表n邊形和n只螞蟻,請返回一個double,爲

原创 golang單例模式最佳實踐

單例模式 單例模式是一種常用的軟件設計模式,在使用過程中,單例對象的類只有一個實例。使用單例模式,1 可以節省內存等資源,例如windows操作系統的資源管理器只有一個就夠了。2 方便配置管理,例如,服務器的配置信息存放在一個文件