原创 設計模式-簡單工廠模式

簡單工廠模式不屬於23種設計模式,是指一個工廠決定創建哪一種產品類的實例,簡單工廠適用於需要創建的對象較少的情形,客戶端只需要傳工廠類的參數,不需要關心工廠創建對象的邏輯。下面我們以課程爲例。 有一個ICource接口 public i

原创 我對七大設計原則的理解

設計原則是在大量工程實踐的基礎上和科學研究的基礎上總結出來的經驗和理念,我們在設計代碼和編碼的鍋中中儘量多借鑑前人的經驗和理念,儘可能的少走彎路,這就是設計原則的意義所在。但是我們在設計代碼和編碼的過程中可以不遵循設計原則嗎?很顯然,答案

原创 設計模式-工廠方法模式

上一篇文章簡要概述了簡單工廠模式,隨着需求的不斷擴展,若每個課程的創建邏輯不同,則會導致工廠代碼非常臃腫,有點像萬能工廠,不便於維護,根據單一職責原則,我們將職能拆分,專人幹專事兒,將萬能的工廠拆分爲創建Java的工廠,Python的工廠

原创 計算某一日期是星期幾的公式(蔡勒公式)

隨便給一個日期,就能用這個公式推算出是星期幾。 蔡勒(Zeller)公式如下: w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符號含義如下, w:星期; c:世紀; y:年(兩位數); m:月(m大

原创 劍指offer 計算機網絡基礎

劍指Offer——知識點儲備-網絡基礎 計算機網絡 http和https的區別 (1)http是http協議運行在tcp之上,所傳輸的內容都是明文,客戶端和服務器端都無法驗證對方的身份。(2)https是http協議運行在SSL/T

原创 sort與stable_sort

這兩個函數的原理都是快速排序,時間複雜度在所有排序中最低,爲O(nlog2n) ; sort的應用; 1、可以傳入兩個參數;      sort(a,a+N) ,其中a是數組,a+N表示對a[0]至a[N-1]的N個數進行排序(默

原创 NYOJ 854 留戀

留戀 時間限制:1000 ms  |  內存限制:65535 KB 難度:2 描述 大家都知道,高中的時候,座位基本都是固定的,但是對於視力不好卻又坐在後面的人是很不公平的。 念情的高中班主任安哥是個非常好的班主任,他爲每

原创 NYOJ,740“炫舞家” ST

“炫舞家“ST 時間限制:3000 ms  |  內存限制:65535 KB 難度:3 描述ST是一個酷愛炫舞的玩家。TA很喜歡玩QQ炫舞,因此TA也愛屋及烏的喜歡玩跳舞機(Dance Dance Revolution,

原创 螞蟻的難題(三)

螞蟻的難題(三) 時間限制:2000 ms  |  內存限制:65535 KB 難度:4 描述 螞蟻終於把儘可能多的食材都搬回家了,現在開始了大廚計劃。 已知一共有 n 件食材,每件食材有一個美味度 Ai 和新鮮度 Bi 

原创 NYOJ 847 S+T

S + T 時間限制:1000 ms  |  內存限制:65535 KB 難度:2 描述    給你一個長度爲n的整數序列A1,A2,……,An,找出兩個整數Ai和Aj(i<j),使得Ai-Aj儘量大。 輸入輸入第一行爲數據組數T(T

原创 NYOJ 625 笨蛋的難題(二)

笨蛋的難題(二) 時間限制:1000 ms  |  內存限制:65535 KB 難度:2 描述笨蛋就業了,並且是在上千應聘中脫穎而出的,和他一起脫穎而出的還有傻子。公司的老闆對二人視爲珍寶,爲了激勵他們的工作熱情,給他們一小時

原创 SourceTree的使用教程

SourceTree的基本使用1. SourceTree是什麼擁有可視化界面的項目版本控制軟件,適用於git項目管理window、mac可用2. 獲取項目代碼1. 點擊克隆/新建 2. 在彈出框中輸入項目地址,http或者ssh地址都可以

原创 二進制1的個數

時間限制:1秒 空間限制:32768K 熱度指數:111294  算法知識視頻講解 題目描述 輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼錶示。 在分析算法之前,我們先來分析把一個數減去1的情況。如果一個整數不等於0,

原创 螞蟻的難題(二)

螞蟻的難題(二) 時間限制:1000 ms  |  內存限制:65535 KB 難度:3 描述 下雨了,下雨了,螞蟻搬家了。 已知有n種食材需要搬走,這些食材從1到n依次排成了一個圈。小螞蟻對每種食材都有一個喜愛程度值Vi

原创 Mongodb的常用命令

mongodb由C++寫就,其名字來自humongous這個單詞的中間部分,從名字可見其野心所在就是海量數據的處理。關於它的一個最簡潔描述爲:scalable, high-performance, open source,  schem