原创 leetcoe 第 147 場周賽 題解

A題:1137. 第 N 個泰波那契數 人盡皆知傻逼題,直接數組模擬。 B題:1138. 字母板上的路徑 我們從一塊字母板上的位置 (0, 0) 出發,該座標對應的字符爲 board[0][0]。 在本題裏,字母板爲board =

原创 leetcode 154. 尋找旋轉排序數組中的最小值 II (二分)

假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 ( 例如,數組 [0,1,2,4,5,6,7] 可能變爲 [4,5,6,7,0,1,2] )。 請找出其中最小的元素。 注意數組中可能存在重複的元素。 示例 1: 輸入: [

原创 2019第十屆藍橋杯大賽C++B組 試題 B: 質數拆分

【問題描述】 將 2019 拆分爲若干個兩兩不同的質數之和,一共有多少種不同的方法? 注意交換順序視爲同一種方法,例如 2 + 2017 = 2019 與 2017 + 2 = 2019 視爲同一種方法。 題目其實不難,自己比賽的

原创 leetcode 442. 數組中重複的數據 (思維) &448

給定一個整數數組 a,其中1 ≤ a[i] ≤ n (n爲數組長度), 其中有些元素出現兩次而其他元素出現一次。 找到所有出現兩次的元素。 你可以不用到任何額外空間並在O(n)時間複雜度內解決這個問題嗎? 示例: 輸入: [4,3,2

原创 leetcode 494. 目標和 (動態規劃)

給定一個非負整數數組,a1, a2, …, an, 和一個目標數,S。現在你有兩個符號 + 和 -。對於數組中的任意一個整數,你都可以從 + 或 -中選擇一個符號添加在前面。 返回可以使最終數組和爲目標數 S 的所有添加符號的方法數。

原创 select函數實現I/O複用的回聲服務器

select函數可以將多個文件描述符集中到一起統一監視。 1.是否存在套接字接收數據 2.是否傳輸無阻塞數據 3.是否發生異常 文件描述符集中到一起需要fd_set數據執行,該數組是存有0和1的數組。 在fd_set裏面註冊或更改的操

原创 leetcode 101. 對稱二叉樹 遞歸和迭代兩種寫法

給定一個二叉樹,檢查它是否是鏡像對稱的。 例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面這個 [1,2,2,null,3,null,3] 則不是鏡像對稱的

原创 通過socket實現網絡文件傳輸

把Linux下文件傳輸和Linux做服務端以及windows做客戶端的傳輸都實現了一遍。 Linux下Server端 Linux下打開文件的函數open(path,flag) 打開模式有 O_CREAT 必要時創建文件 O_

原创 Linux 下server端和windows下client端通信

最近看了《TCP/IP網絡編程》這本書。 正好又租了臺阿里雲的服務器,發現把TCP端口全部打開後,就可以實現本地與雲服務器的通信了。 主要時利用socket進行通信,實現一個簡單的計算功能。代碼有點醜。。 op_server.cpp

原创 codeforces 1157 D. N Problems During K Days (二分+構造)

D. N Problems During K Days time limit per test1 second memory limit per test256 megabytes inputstandard input output

原创 設計模式-適配器模式 C++實現

適配器模式 定義:將一個類的接口轉化爲客戶希望的另外一個接口,是的原本由於接口不兼容而不能在一起工作的那些類能一起工作。 特點:(1)客戶端通過適配器可以透明的調用目標接口.(2)程序員不需要修改原有代碼而重用現有的適配者類。(3)將

原创 設計模式-代理模式 C++實現

代理模式 定義:由於某些原因給某個對象提供一個代理以控制該對象的訪問。 特點:(1)代理模式再客戶端和目標對象之間起到一箇中介的作用和保護目標對象的作用。(2)代理對象可以擴展目標對象的功能。(3)代理模式能將客戶端和目標對象分離,一

原创 劍指offer - 滑動窗口最大值 (單調隊列的使用)& POJ 2823

給定一個數組和滑動窗口的大小,找出所有滑動窗口裏數值的最大值。例如,如果輸入數組{2,3,4,2,6,2,5,1}及滑動窗口的大小3,那麼一共存在6個滑動窗口,他們的最大值分別爲{4,4,6,6,6,5}; 針對數組{2,3,4,2,

原创 設計模式-建造者模式 C++實現

建造者模式 定義:將一個複雜對象的構造與他的表示分離,是同樣的構造過程可以創建不同的表示。可以想象爲先創建一個產品的骨架,再拼接他的零件。 特點:(1)各個具體的建造者相互獨立,有利於系統的擴展。(2)客戶端不必知道產品內部的組成細節

原创 設計模式-工廠模式 C++實現

工廠模式 定義:一個創建產品對象的工廠接口,將產品對象的實際創建工作推遲到具體子類工廠類中。 特點:(1)用戶只要知道具體工廠的名稱就可以得到所需要的產品,無需知道產品創建的過程。(2)增加新產品時只需要添加具體產品類和對應的具體工廠