原创 面試筆試邏輯推理題

問題描述:昨天去一個公司進行面試,遇到了很多不會的問題。當時由於時間的原因沒有答上來,回來後對還有印象的題想了想查了查相關的資料。其中就有一道邏輯推理題,對於這類題我感覺如果之前沒有見過那麼在那麼短的時間內想出來解決辦法是非常困難的,所以

原创 阿姆斯特朗數

/* 功能: 求n(n ≤ 65536)以內的所有阿姆斯特朗數 原型:     int CalcArmstrongNumber(int n); 輸入參數:     int n: n ≤ 65536 返回值

原创 找出1至n之間同構數的個數

/* 功能:找出1至n之間同構數的個數 輸入:     int n:查找1至n之間的全部同構數 返回:     int:1至n之間同構數的個數 */ vector<int> getNum(int n){v

原创 [C/C++]static關鍵字用法總結

Static關鍵字用法總結   static關鍵字是C, C++中都存在的關鍵字。static從字面理解,是“靜態的“的 意思,與此相對應的,應該是“動態的“。 static的作用主要有以下3個: 1、擴展生存期; 2、限制作用域; 3、

原创 探討:用兩個棧實現一個隊列

用C++描述,題目大致是這樣的: 已知下面Stack類及其3個方法Push、Pop和 Count,請用2個Stack實現Queue類的入隊(Enqueue)出隊(Dequeue)方法。 思路是:始終維護s1作爲存儲空間,以s2作爲臨時緩衝

原创 刪除鏈表中重複的元素

今天做的LeetCode上的題:要求刪除一個連表中重複的元素並不保留重複的元素 Given a sorted linked list, delete all nodes that have duplicate numbers, leavi

原创 求M的N次方的最後三位

正整數M 的N次方有可能是一個非常大的數字,我們只求該數字的最後三位 例1: 比如輸入5和3 ,5的3次方爲125,則輸出爲125  例2: 比如輸入2和10  2的10次方爲1024 ,則輸出結果爲24 例3: 比如輸入1

原创 定義一個宏,比較兩個數a、b的大小,不能使用大於、小於、if語句

第一種定義方法: #define max(a,b) (((long)((a)-(b))&0x80000000)?(b):(a)) 這裏用到了與操作若是負數最高位肯定爲1 與的結果肯定不爲0 而若a大於b最高位爲0與的結果會得到0 第二

原创 筆試題:如何判斷單鏈表是否存在環

今天做了LeetCode上面的題,問的是判斷一個連表中是否有環的問題,要求是不能採用額外的存儲空間,我想到的最笨的方法就是二重循環,這樣可定能夠做出來但是最後結果就是超時了,然後搜了一下相關的資料,這個是屬於追擊問題,設兩個指針變量,一個

原创 在O(1)時間刪除鏈表結點

題目要求:基於鏈表的數據結構在o(1)的時間內刪除一個節點? 按照我們原本的思路對於鏈表的刪除操作最原始的方法是要找到要刪除節點的前一個節點這樣才能直接刪除,但是這樣時間複雜度就不能保證在o(1)的時間內,所以一種簡單的方法就是把當前節點