Time of Update: 2018-12-05
按編程之美上解法二的所述,類似快速排序的劃分方法,N個數儲存在數組S中,再從數組中隨機選取一個數X,把數組劃分為Sa和Sb倆部分,Sa<=X<=Sb,如果要尋找的k個元素小於Sa的元素個數,則返回Sa中較小的k個元素,否則返回Sa中所有的元素+Sb中較小的k-|Sa|個元素。不斷遞迴下去,把問題分解成更小的問題,平均時間複雜度為O(N)// Copyright 2012 Jike Inc. All Rights Reserved.// Author: jichenghui@jike.
Time of Update: 2018-12-05
#include <iostream>using namespace std;//有一個沒有排序,元素個數為2N的正整數數組。要求把它分割為元素個數為N的兩個數組,並使兩個子數組的和最接近。int arr[] ={0,1,5,7,8,9,6,3,11,20,17};const int N=5;const int SUM = 87;int split1(){ int dp[2*N+1][N+1][SUM/2+2]; /*
Time of Update: 2018-12-05
問題1:m----->相同, n---> 相同,可為空白將m個蘋果放進n個盤子中,盤子允許空,有多少種方法。同時注意例如1、2和2、1這兩種方案是一種方案。 思路:其實這跟將一個整數m分成n個整數之和是類似的,設f[m][n]為將m分成最多n份的方案數,且其中的方案不重複,每個方案前一個份的值一定不會比後面的大。則有:f[m][n] = f[m][n - 1] + f[m - n][n]; = 1 // m== 0 || n == 1 =
Time of Update: 2018-12-05
在一個數組中,選取超過一半或者等於一半的數,如果 有兩個 則返回 最早出現次數>=一半的 那個數 #include<iostream> using namespace std; int Find(int* a, int N) { int candidate1,candidate2; int nTimes1, nTimes2, i;candidate1 = a[0];nTimes1 = 1;
Time of Update: 2018-12-05
採用 sudo apt-get install apache 安裝apache服務,不會內建apxs(apache extension tool [apache擴充模組的工具,例如$apxs -i -a -c mod_foo.c]),需安裝 apache-devwangjinyang@wjy-ubuntu:~$ sudo apt-get install apacheapache apache2-mpm-itk
Time of Update: 2018-12-05
任何使用者只要不被列入 /etc/cron.deny 當中,那麼他就可以直接下達『crontab -e 』去編輯自己的例行性命令了!整個過程就如同上面提到的,會進入 vi的編輯畫面, 然後以一個工作一行來編輯,編輯完畢之後,輸入『 :wq 』儲存後離開 vi就可以了! 而每項工作的格式都是『 五個時間參數 實際動作指令』,那麼那五個時間參數代表什麼呢? 代表意義分鐘小時日期月份周數字範圍0-590-231-311-120-7比較有趣的是那個『周』喔!當周為 0 或 7
Time of Update: 2018-12-05
小明和小強都是張老師的學生,張老師的生日是M月N日, 2人都知道張老師的生日是下列10組中的一天, 張老師把M值告訴了小明,把N值告訴了小強, 張老師問他們知道他的生日是那一天嗎? 3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 小明說:如果我不知道的話,小強肯定也不知道 小強說:本來我也不知道,但是現在我知道了 小明說:哦,那我也知道了 請根據以上對話推斷出張老師的生日是哪一天解答:此題
Time of Update: 2018-12-05
動態連結程式庫的明確式載入,只要將相應的dll放在目錄下即可靜態庫 隱式載入的方法:1.將 工程--設定--串連---物件程式庫模組 裡面添加相應的.lib檔案 ,需要這樣的配置,相應的dl還要l放在目錄下即可2. 可以\StdAfx.h檔案中添加這兩句話,編譯器就可以到指定的目錄下將.lib載入到工程裡,效果與上面的配置相同,我推薦這種方法更好#pragma comment ( lib, ".\\lib\\**Socket.lib" )
Time of Update: 2018-12-05
int main(){ int iFactor = 1, iLowerNum, iCurNum, iHighNum; int n; scanf("%d",&n); int res = 0; while(n / iFactor) { iLowerNum = n - (n / iFactor) * iFactor; iHighNum = (n / 10 ) / iFactor; iCurNum = (n /
Time of Update: 2018-12-05
TRACE宏對於VC下程式調試來說是很有用的東西,有著類似printf的功能; 該宏僅僅在程式的DEBUG版本中出現,當RELEASE的時候該宏就完全消失了,從而協助你調試也在RELEASE的時候減少代碼量。使用非常簡單,格式如下: TRACE("DDDDDDDDDDD"); TRACE("wewe%d",333); 同樣還存在TRACE0,TRACE1,TRACE2。。。分別對應0,1,2。。個參數 TRACE資訊輸出到VC
Time of Update: 2018-12-05
最近接連開發了兩個獨立的小系統,雖然累的夠嗆,但還算有點心得。緊密度的開發兩個小系統,非常容易在後發第二個系統的時候與第一個系統做比較。抽出兩者的開發過程中的共性。經過抽象發現最重要的幾點:1.根據業務量身定製資料結構是最重要的。而在需求尚不是非常明確之前,資料結構大的架子不宜設計的過於精細。比如我們可能會用到多維樹,可能第一維的資料只需要一個int型就可以搞定,但這時候千W不要就寫個int。而應該設計成一個結構體,以方便後面擴充,否則後面需要改動的東西就會過多,且容易出錯。2.資料的容量或者說
Time of Update: 2018-12-05
http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-ConditionalOperators:<,<=,>,>=MongoDB
Time of Update: 2018-12-05
在官網上面http://www.live555.com/liveMedia/#config-unix下載最新源碼,並進行編譯,同時官網上面告訴了你怎麼樣編譯已經不同平台對應需要修改的內容一、arm_linux_g++下面編譯視頻檔案LIVE555 【config.armlinux】CROSS_COMPILE= arm-none-linux-gnueabi- ////編譯器名稱COMPILE_OPTS = $(INCLUDES) -I. -O2
Time of Update: 2018-12-05
#include<iostream> using namespace std;//數組原來的位置不變,可以第幾大的數是 什麼,如第三大的數是B[3-1]; int A[]={3,6,9,4,5}; //原數組 int B[]={1,2,3,4,5}; //輔助數組 int cmp (const void * a, const void * b){ return ( A[*(int*)a-1] - A[*(int*)b-1] );}int main(){ qsort
Time of Update: 2018-12-05
TQ2440的EmbedSky_hello模組編譯核心問題及解決2009-10-25 20:22 以在核心代碼中添加EmbedSky_hello驅動為例,進行核心編譯時間候出現了一下幾個問題:1、在 /opt/EmbedSky/linux 2.6.30.4/drivers/char目錄下修改“Kconfig”檔案,添加如下內容: config EmbedSky_HELLO tristate "TQ2440/SKY2440 Hello
Time of Update: 2018-12-05
2011-03-16 01:37 LINUX:解壓問題tar: Child returned status 1解壓某個檔案時#tar -zxvf xxxxx.tar.gz出現下面的錯誤提示:gzip: stdin: not in gzip formattar: Child returned status 1tar: Error exit delayed from previous errorsYou used "tar -zxvf" for the second command. the 'z'
Time of Update: 2018-12-05
題目: 給出一段C#代碼,要求不用電腦,理解程式並回答問題。 解答:下面是從C#代碼中改寫成的C++代碼:#include
Time of Update: 2018-12-05
原作者:光明兄弟 最近我正在研究ActiveX技術。我使用Delphi 7建立了一個具有ActiveForm的ActiveX控制項應用程式。這個控制項產生一個.OCX檔案。現在,我需要把這個控制項部署在伺服器端,在使用者瀏覽網頁並選擇安裝這個控制項的時候,使用者的IE才會下載、安裝並顯示這個控制項。 但是我的控制項必須作數位簽章以後,IE才會下載安裝。問題是如何給ActiveX控制項作數位簽章呢?現將具體步驟與大家分享。 首先我需要一套做數位簽章的工具。如果你沒有,
Time of Update: 2018-12-05
#include <iostream> using namespace std; /* 輸入a1,a2,...,an,b1,b2,...,bn, 在O(n)的時間,O(1)的空間將這個序列順序改為a1,b1,a2,b2,a3,b3,...,an,bn, 且不需要移動,通過交換完成,只需一個交換空間。 一 a1a2a3a4 b1b2b3b4 a1a2b1b2 a3a4b3b4 二 a1a2a3a4a5 b1b2b3b4b5 a1a2b1b2b3 a3a4a5b4b5
Time of Update: 2018-12-05
有一個單鏈表,其中可能有一個環,也就是某個節點的next指向的是鏈表中在它之前的節點,這樣在鏈表的尾部形成一環。問題:1、如何判斷一個鏈表是不是這類鏈表?2、如果鏈表為存在環,如何找到環的進入點?解答:一、判斷鏈表是否存在環,辦法為:設定兩個指標(fast, slow),初始值都指向頭,slow每次前進一步,fast每次前進二步,如果鏈表存在環,則fast必定先進入環,而slow後進入環,兩個指標必定相遇。(當然,fast先行頭到尾部為NULL,則為無環鏈表)程式如下:Code