原创 智力題——桌子上輪流放置硬幣怎樣才能贏得遊戲的勝利

     給一張對稱的桌子,和足夠的硬幣,將硬幣放在桌子上(硬幣不能疊加)!你和對手輪流放置硬幣於桌面上,誰的硬幣先掉下桌子,誰就輸了! 那麼如果讓你先放置硬幣怎樣才能穩贏? 這道智力題是我在甲骨文(oracle)面試的時候,面試官提的

原创 筆試題2——判斷鏈表是否有環,若有則返回環的第一個交點

鏈表是常有的數據結構,也是筆試、面試常客 如何判斷一個鏈表是否有環;若有環,則環的第一個交點;找鏈表的倒數第k個節點;都是快慢指針的應用;下面給出這三個的實現方法 (1)如何判斷一個鏈表是否有環 bool IsListR(LinkLis

原创 文件的相對路徑和絕對路徑,加載資源文件失敗

(1)文件的絕對路徑:是從盤符開始的路徑,形如               D:\vs2015項目\images\123.png (2)相對路徑:是從當前路徑開始的路徑, 假如當前路徑爲D:\vs2015項目 要描述上述路徑,只需將代碼

原创 筆試題4——數組中第二大的數

求數組中第二大的數,要求時間複雜度爲O(n),即遍歷一遍 const int MinN = -32767; int FindSecMax(int data[], int iCount) { int iMaxNum = data[0]

原创 筆試題3——給定一個整形數組,使得奇數在偶數前面

這道題是廈門大學某一年的考研題,也是一道筆試時經常考的題目 這道題類似於快速排序 第一趟排玩的結果,將數組分成前後兩部分;我們用這種相似的方法解這道算法題 要求:時間複雜度在O(n)內完成,且只能遍歷一次,不能重新分配數組 voi

原创 筆試題6——數組中2個出現一次的數(其他2次)

void FindTwoDiff(int a[], int n, int N1, int N2) { int i, j, temp; temp = 0; for (i = 0; i < n; i++) temp ^=

原创 虛函數的作用

在某基類中申明爲virtual的成員函數,並在一個或多個派生類中被重新定義,通過指向派生類的指針或引用,訪問派生類中同名覆蓋的成員函數。簡單的說:那些被virtual關鍵字修飾的成員函數,就是虛函數。虛函數的作用,用專業術語來解釋就是實現

原创 筆試題1——找到字符串中第一個只出現一次的那個字符

哈希表的應用,此題面試官主要考察的字符查找的時間效率,算法的時間複雜度爲O(n),那麼恭喜你通過此次筆試 例如:字符串  abscbams,那麼 c 就是我們要找的目標 #define tableSize 256 //哈希表的

原创 文件操作——將數據導出到Excel

將數據導出到Excel(.csv)表格中 #include <string> #include <fstream> using namespace std; void TestFileOut() { OPENFILENAME ofn

原创 筆試題5——數組中超過一半的數

在O(n)的時間內找出數組中超過一半的數,如:3 4 2 3 5 3 3,數字3超過半數 bool g_b = false; //全局變量用來判斷是不是數組中的數 int MoreThanHalfNum(int a[]

原创 教你如何用duilib實現控件可拖動,可拖拽

要實現的效果:         鼠標點擊控件(自繪控件,可繼承任意控件類,下文將給出示例),並且進行拖拽,會有一個半透明黑色陰影來表示當前拖動的位置。當鬆開鼠標,控件重新繪製在鼠標鬆開的位置。拖拽功能的實現代碼主要在DoEvent函數和D

原创 map的詳細使用

一. 聲明 二. 插入操作 2.1 使用[ ]進行單個插入 2.1 使用insert進行單個和多個插入 三. 取值 四. 容量查詢 五. 迭代器 六. 刪除交換 6.1 刪除 6.2 交換 七. 順序比較 八. 查找

原创 boost::regex的使用詳解

Regex 頭文件: “boost/regex.hpp” 正則表達式被封裝爲一個類型 basic_regex的對象。我們將在下一節更深入地討論正則表達式如何被編譯和分析,這裏我們首先粗略地看看basic_regex ,以及這個庫中三

原创 wstring轉string,string轉wstring

wstring轉string // 使用CRT庫的wcstombs()函數將wstring轉string,平臺無關,需設定locale,這種方法可以兼容中文 string WString2String(wstring& ws) {

原创 獲取exe所在文件的路徑

CString LG_GetFilePathName() { wchar_t szPath[MAX_PATH + 1] = { 0 }; ::GetModuleFileName(NULL, szPath, MAX_PATH +