原创 C++ 接雨水,不看後悔系列,解一道高頻面試題

這是一道同事討論過的一道趣味題,綜合了比較多的解題思想,其中有二分,遞歸,分治等思想。閒來抽空實現了下,如有錯誤請多多指出,或者有優化處請多多指出。邏輯不是很複雜,直接上代碼吧。 // // main.cpp // 面試題經

原创 計算機網絡 - (二)NAT的工作基本原理

計算機網絡 內容目錄開篇回顧起因-IPV4NATNAT的工作原理端口多路複用總結公有IP跟私有IP靜態IP與動態IP驗證:爲什麼我的兩個上網設備是用的同一個IP地址下一章用IP不可以訪問知乎,而百度卻可以?網關和路由器DHCP基

原创 C++ 解一道高頻面試題:接雨水

這是一道同事討論過的一道趣味題,綜合了比較多的解題思想,其中有二分,遞歸,分治等思想。閒來抽空實現了下,如有錯誤請多多指出,或者有優化處請多多指出。邏輯不是很複雜,直接上代碼吧。 // // main.cpp // 面試題經

原创 C++ STL常用標準庫容器入門(vector,map,set,string,list...)

STL常用標準庫容器 C++ STL中最基本以及最常用的類或容器無非就是以下幾個: 目錄 string vector deque list forward_list queue priority_queue

原创 計算機網絡 - 計算機之間的網絡互通

計算機網絡 內容目錄前言計算機網絡 - 計算機之間的網絡互通1. 物理層2. 數據鏈路層3. 網絡層4. 傳輸層5. 應用層總結 前言 大物理學家費曼提出一個高效的費曼學習法,即從問題入手,試着把問題都講出來,以教代學,一旦你

原创 vim常用命令總結

          在命令狀態下對當前行用== (連按=兩次), 或對多行用n==(n是自然數)表示自動縮進從當前行起的下面n行。你可以試試把代碼縮進任意打亂再用n==排版,相當於一般IDE裏的code format。使用gg=G可對

原创 C++ 異常捕獲和處理

C++之異常捕獲和處理   一、簡介   在C++語言中,異常處理包括:throw表達式,try語句塊,一套異常類。其中,異常類用於在throw表達式和相關的catch子句之間傳遞異常的具體信息。exception頭文件定義了最普通的

原创 C語言-遞歸法尋找數組中最小值

int getMin(int array[], int n) { int val1, val2, val3; if (n == 1) return array[0]; if (n % 2 == 0

原创 C語言-數字的全排列

輸入一個數字序列{a1,a2,...,an},將該序列進行排列,並輸出每一種排列方式。例如:1,3,5.該數列就有6種排列方式。利用遞歸不難實現 #define max 100 void Perm(int a[], int n, in

原创 C語言-誰在說謊

甲:乙說謊 ,乙:丙說謊,丙:甲乙都說謊 int main(int argc, const char *argv[]) { int a, b, c; for (a = 0; a <= 1; ++a) {

原创 C語言-數字翻譯器

輸入一個正整數N,輸出它的英文表達 char data_1[19][10] = {"one", "two", "three", "four", "five", "six", "seven",

原创 C++ define和typedef及複雜聲明

一、typedef用途 1.定義一種類型的別名,而不只是簡單的宏替換。可以用作同時聲明指針型的多個對象。比如:  char* pa, pb; typedef char* PCHAR; // 一般用大寫 PCHAR pa, pb; 2.

原创 使用JNI進行Java與C/C++語言混合編程

C++調java 編寫Java代碼並編譯 這段代碼非常簡單, 有個靜態方法和成員方法, 一個public的成員變量 public class Sample2 { public String name; public s

原创 JS/ES 實現合併兩個有序數列

js 合併兩個有序數組 let arr1 = [1,3,59,111]; let arr2 = [2,4,5,6,7,8,9,11,55,66,77,88]; function mergeList(arr1, arr2) {

原创 尋找水仙花數

“水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1^3+5^3+3^3,則153是一個“水仙花數”。  求出100~999之間的所有“水仙花數”並輸出。 int isNarcissus(int digit)