原创 【劍指offer】登峯造極--包含min函數的棧

定義棧的數據結構,請在該類型中實現一個能夠得到棧中所含最小元素的min函數(時間複雜度應爲O(1))。 注意:保證測試中不會當棧爲空的時候,對棧調用pop()或者min()或者top()方法。 題解: 如何輸出stack中最小元素

原创 理解、實現排序

一、直接插入排序 插入排序像我們打撲克牌時,將牌直接插入相應位置。 實現代碼如下 void InsertSort(int *array, int n) { for (int i = 0; i < n - 1; i++) {

原创 【劍指offer】登峯造極--把數組排成最小的數

題目描述 輸入一個正整數數組,把數組裏所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。例如輸入數組{3,32,321},則打印出這三個數字能排成的最小數字爲321323。 思路 將數組中的數字連接起來,排成一個最小

原创 【劍指offer】登峯造極--數組中只出現一次的數字

題目描述 一個整型數組裏除了兩個數字之外,其他的數字都出現了兩次。請寫程序找出這兩個只出現一次的數字。 思路: 位運算,異或思路,反正我是想不到…看了題解和評論才弄懂是怎麼一回事。 按位與&,0&1=0 0&0=0 1&0=0 1

原创 【劍指offer】登峯造極--數組中重複的數字

題目描述 在一個長度爲n的數組裏的所有數字都在0到n-1的範圍內。 數組中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出數組中任意一個重複的數字。 例如,如果輸入長度爲7的數組{2,3,1,0,2,

原创 【劍指offer】登峯造極--數組中的逆序對

時間限制:C/C++ 2秒,其他語言4秒 空間限制:C/C++ 32M,其他語言64M 熱度指數:524032 本題知識點: 數組 算法知識視頻講解 題目描述 在數組中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一

原创 夜來風雨聲,“路由協議”知多少?

      在互聯網世界中,夾雜着複雜的LAN和廣域網。然而,再複雜的網絡結構中,也需要通過合理的路由將數據發送到目標主機。而決定這個路由的,正是路由控制模塊。本章旨在詳細介紹路由控制以及實現路由控制功能的相關協議。       

原创 【leetcode】登峯造極--二叉樹的右視圖

給定一棵二叉樹,想象自己站在它的右側,按照從頂部到底部的順序,返回從右側所能看到的節點值。 示例: 通過次數31,361提交次數48,920 來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/

原创 夜來風雨聲,“網絡應用層”知多少?

通過閱讀書籍《圖解TCP/IP》和文章對應用層有了一定的認識,對應用層進行梳理,不正確的地方請指出。 應用層協議常見的應用層協議一、常見的應用層協議二、協議的意義和作用遠程登錄TELNETSSH文件傳輸FTP的工作過程電子郵件郵件

原创 【劍指offer】 登峯造極--字符串的排列

時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 32M,其他語言64M 熱度指數:623760 本題知識點: 字符串 動態規劃 遞歸 算法知識視頻講解 題目描述 輸入一個字符串,按字典序打印出該字符串中字符的所有排

原创 【劍指offer】登峯造極--數組中出現次數超過一半的數字

時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 32M,其他語言64M 熱度指數:528168 本題知識點: 數組 算法知識視頻講解 題目描述 數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字。例如輸入

原创 【程序員面試金典】登峯造極--判定字符是否唯一

面試題 01.01. 判定字符是否唯一 實現一個算法,確定一個字符串 s 的所有字符是否全都不同。 示例 1: 輸入: s = “leetcode” 輸出: false 示例 2: 輸入: s = “abc” 輸出: true 限

原创 【劍指offer】登峯造極--二叉樹中和爲某一值的路徑

時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 32M,其他語言64M 熱度指數:579355 本題知識點: 樹 算法知識視頻講解 題目描述 輸入一顆二叉樹的根節點和一個整數,打印出二叉樹中結點值的和爲輸入整數的所

原创 【劍指offer】登峯造極 -- 樹的子結構

時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 32M,其他語言64M 熱度指數:707017 本題知識點: 二叉樹 算法知識視頻講解 題目描述 輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不

原创 “誰將天下安危事,一把詩書子細論” Linux 命令詳解

通過查閱Linux命令詞典向大家,詳細說明一些重要的命令 Linux命令一、alias(設置命令的別名)二、bg(將程序放到後臺執行)三、cat(連接多個文件,並將它們的內容輸出到標準輸出設備)四、cd(切換目錄)五、clear(