原创 求解最長公共子序列問題(LCS)

刷leetcode一直沒做到大名鼎鼎的LCS問題,也不明白LCS具體是什麼問題,直到做到去年騰訊筆試的一道編程題: 給定一個字符串s,你可以從中刪除一些字符,使得剩下的串是一個迴文串。如何刪除才能使得迴文串最長呢?輸出需要刪除的字符個數

原创 編譯器自動優化——爲什麼我的C++編譯器不調用拷貝構造函數了?

今天在學習《深入理解C++11》中關於移動構造函數的內容時,發現了這麼一個問題: #include <iostream> #include <vector> #include <numeric> #include <stack> #in

原创 C++特殊成員變量(靜態、常量、引用)的初始化方法

有些成員變量的數據類型比較特別,它們的初始化方式也和普通數據類型的成員變量有所不同。這些特殊的類型的成員變量包括: 1.引用 2.常量 3.靜態 4.靜態常量(整型) 5.靜態常量(非整型) 常量和引用,必須通過參數列表進行

原创 LFU與LRU的不同

LRU和LFU是不同的! LRU是最近最少使用頁面置換算法(Least Recently Used),也就是首先淘汰最長時間未被使用的頁面! LFU是最近最不常用頁面置換算法(Least Frequently Used),也就是淘汰

原创 爲什麼需要內存對齊?

對齊原因 大部分的參考資料都是如是說的: 1、平臺原因(移植原因):不是所有的硬件平臺都能訪問任意地址上的任意數據的;某些硬件平臺只能在某些地址處取某些特定類型的數據,否則拋出硬件異常。 2、性能原因:數據結構(尤其是棧)應

原创 阿里巴巴2017暑期實習生招聘面經

此篇博客實時更新。。。希望最後能夠順利拿到offer 2017/3/2電話面試第一輪 阿里的效率果然快。。投簡歷第五天,系統開放第二天就打來了面試電話。面試官非常有禮貌給人感覺很好,上來先介紹了一下他們部門,隨後就是我的自我介紹了,先

原创 名企筆試:好未來2017秋招筆試(連續最長的數字串)

讀入一個字符串str,輸出字符串str中的連續最長的數字串 輸入描述: 測試輸入包含1個測試用例,一個字符串str,長度不超過255。 輸出描述: 在一行內輸出str中裏連續最長的數字串。 輸入例子: abcd12

原创 Bloom Filter(布隆過濾器)的概念和原理

Bloom filter   適用範圍:可以用來實現數據字典,進行數據的判重,或者集合求交集   基本原理及要點:   對於原理來說很簡單,位數組+k個獨立hash函數。將hash函數對應的值的位數組置1,查找時如果發現所有ha

原创 計算機網絡常見面試題

1.      OSI,TCP/IP,五層協議的體系結構OSI分層(7層):物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。TCP/IP分層(4層):網絡接口層、網際層、運輸層、應用層。五層協議(5層):物理層、數據鏈路層、網

原创 Leetcode 102. Binary Tree Level Order Traversal

Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

原创 C++任意進制轉任意進制的轉換函數實現

作爲一個半路出家的C/C++開發者,平日裏最討厭使用C++處理字符串以及處理類型轉換的問題,不甚其煩。 今天在做CVTE的筆試題的時候又遇到了進制轉換 因此在這裏對進制轉換做一個總結吧。 C++內置的itoa是非常強大的,能夠將十進制

原创 STL中各個容器的實現基本原理以及互相依賴

STL中一共擁有六大組件: 1.算法 2.迭代器 3.容器. 4.仿函數 5.適配器(配接器)6.空間配置器 通過閱讀侯捷版本的《STL源碼剖析》可以知道,STL的實現也是由基本的數據結構來完成的 容器大概可以分爲關聯型容器和序列型容

原创 C++內存空間區域

程序運行時,內存分爲堆區、棧區、代碼區、全局區 棧區: 由編譯器自動分配釋放, 存放函數的參數值,局部變量等. 例如: 參數buf,參數bufsize和size都是存放在棧區.當函數執行完畢的時候,自動釋放 堆區 一般由程序員分配釋放

原创 隨想

今天的自己似乎有點浮躁,實驗室老師安排了不少事情給我,一方面自己還要忙着畢業設計,一方面還要準備找工作的知識梳理,感覺身體被掏空。。。 不懂的東西太多,彷彿拋棄了從很久之前就開始注重積累的自己。。。有點急功近利,嗯。希望自己冷靜一下 

原创 C語言中內存分佈及程序運行中(BSS段、數據段、代碼段、堆棧)

經常看到uboot裏面有清bbs段.一直都不明白,bbs段是什麼東西,爲什麼要清,有什麼作用. 還有其他段,都是些什麼關係。 C語言中總體來說,分兩種情況:1.編譯出來可執行文件放在存儲盤上(硬盤),