原创 Given a sequence of numbers (or array).Find the maximum distance between all the same numbers.

    題目要求如下:給定一列數組,找出在這個數組中相同數據出現位置的最大差值,例如:1, 2, 3, 4, 1, 1, 7, 4, max(1) = 5, max(2) = 0, max(4) = 4;     給出兩種方法,一種是使用

原创 讀effetive c++筆記之對象傳遞和對象返回

先寫出關於對象傳遞和對象返回的總結:相對函數來說,如果是傳遞對象請使用pass-by-reference 而對象返回請使用pass-by-value.   爲什麼對象傳遞的時候要用pass-by-reference,而不用pass-by

原创 快捷鍵的難題

從一個編程網站上搞過來的題目,自己解了一下,發現就是類似於字符串旋轉的問題: 題目描述: Windows 7系統有很多的快捷鍵,Y同學最喜歡的快捷鍵就是Alt+Tab組合鍵,可以進行方便的進行多窗口之間的切換。爲了方便,去掉一些複雜規則後

原创 簡單的thread_pool代碼

#include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<pthread.h> #define DEFAULT_THREAD_NUM 4 typedef stru

原创 把二叉樹轉換成雙向鏈表

記得這是一道微軟的面試題,想了很長時間不知道怎麼做,近期看別人的博客,找到了算法,自己實現了一下,下面是算法的敘述: 1. If left subtree exists, process the left subtree…..1.a) R

原创 Given an array of integers, sort the array according to frequency of elements

Given an array of integers, sort the array according to frequency of elements. For example, if the input array is {2, 3

原创 An in-place algorithm for String Transformation

不好意思,我沒有進行翻譯,覺得原文講的很好: Given a string, move all even positioned elements to end of string. While moving elements, keep

原创 給圖的頂點着色

給出一個無向圖和一個數字m,此數字代表了允許使用顏色的種類,判斷是否至多可以應用m種顏色,將圖的每個頂點着色,並且相鄰節點着的顏色不同。       輸入:       1, 二維矩陣 graph[V][V],其中V代表圖中頂點的個數,

原创 請打印給定文件的最後n行

首先想到的最笨的辦法就是打開文件,然後遍歷一遍,計算出文件中的行數,然後在從頭開始遍歷文件,在某個位置開始打印從文件中讀出的行。這是一個比較笨的方法,還有一種很巧妙的方法就是應用circular buffer,初次見到這個名稱的人可能感覺

原创 kruskal的最小生成樹

     給定一個無向圖,它的生成樹是能夠連接圖中所有定點的的子圖。一個圖可以有很多個生成樹,但是一個無向,帶全圖的最小生成樹是生成樹的所有邊的權值之和小於任何一個生成樹的權值之和。      一棵最小生成樹的邊是多少呢,設定這個圖一共有

原创 並查集-用並查集判斷圖中是否有環(能夠應用到kruskal的最小生成樹)

     先不介紹並查集的概念,先從它的應用說起吧,它有兩個功能,第一就是判斷給定的一個節點是否屬於某一個集合,更確切的說是屬於哪個集合。第二個功能就是合併兩個集合。       給定一組數據,如:1, 2, 3, 4, 5, 6, 7,

原创 帶有通配符的字符串和另一個字符串進行匹配

先吐個槽吧,公司也有這個算法,看了半天也不知道幹什麼呢,寫的非常複雜,偶然的發現一個算法,小巧而精密,下面詳細敘述: * 可以匹配0個或0個以上的字符 ?可以匹配一個字符 這個算法應用的是遞歸的算法,開始擔心如果字符串過長的話,會因遞歸

原创 關於C/C++中的trigraph

 先用簡單的話講一下什麼是trigraph吧,這樣不會一上來就是沒人看得懂的話,trigraph是三字母詞,又叫三連字。     言歸正傳,總得來說,thrgraph是C/C++ 爲了照顧老一輩的"無產階級革命家"而出現的,當時他們的

原创 判斷給定的圖是否是有向無環圖

判斷給定的圖是否是有向無環圖,方法是應用拓撲排序,代碼如下: #include<iostream> #include<list> #include<stack> using namespace std; class Graph {

原创 計算一條英文句子中單詞個數

給定一句英文,除了字母之外,還包含空格回車和水平製表符號('\t', '\n'), 根據這三個符號來計算一句英文中所含有單詞的個數。 下面給出的這個方法是我從一個國外網站上看到的,思路清晰而且很有邏輯性,於是決定記錄下來: 設定兩個標誌: