找出最長(zhǎng)連續(xù)子數(shù)組 求數(shù)組有最大值時(shí)的子數(shù)組php?
求數(shù)組有最大值時(shí)的子數(shù)組php?(c語(yǔ)言)查找一個(gè)數(shù)組中方差最大的連續(xù)子數(shù)組?讓我給你一個(gè)想法,我不會(huì)為你寫(xiě)代碼,最多是偽代碼首先,你需要一個(gè)能找到給定區(qū)域內(nèi)所有完全平方的函數(shù),它可以被稱(chēng)為int*f
求數(shù)組有最大值時(shí)的子數(shù)組php?
(c語(yǔ)言)查找一個(gè)數(shù)組中方差最大的連續(xù)子數(shù)組?
讓我給你一個(gè)想法,我不會(huì)為你寫(xiě)代碼,最多是偽代碼
首先,你需要一個(gè)能找到給定區(qū)域內(nèi)所有完全平方的函數(shù),它可以被稱(chēng)為
int*find_uusqures(int a,int b){…
是的,它返回一個(gè)數(shù)組的指針,指向a和b之間的第一個(gè)和最小的完全平均值,長(zhǎng)度是找到的完全平方。否則,它可以返回空指針。如果不能立即知道函數(shù)外數(shù)組的長(zhǎng)度,可以使用第一位,即第0位,來(lái)記錄找到的完整平方數(shù)。如果找不到,可以返回一個(gè)長(zhǎng)度為1的數(shù)組,其中可以保存一個(gè)0。
當(dāng)a和B相距較遠(yuǎn)時(shí),此功能可能很耗時(shí),因此有必要在本地維護(hù)一個(gè)文件以存儲(chǔ)找到的完整正方形。這個(gè)文件的規(guī)格如下,記錄從1到一個(gè)大整數(shù)n,所有記錄的數(shù)目都是完全平均的順序,不要泄露
!讓我們寫(xiě)一個(gè)名為
平方分解(int m)
函數(shù)是用來(lái)完成指定任務(wù)的,算法在這里正式開(kāi)始
!In squareuuu在分解中,打開(kāi)文件并用數(shù)組x保存文件中所有完整的正方形
1。對(duì)于每個(gè)輸入整數(shù)m,比較X中最大的n。
2。如果n很小,則調(diào)用find_uusquares(n,m),并將所有結(jié)果附加到X.
3。從X中的最大值中找出第一個(gè)小于m的整數(shù),n_1,記錄m_1=m-n_1和n_1。記錄(有太多的記錄方法,例如在文件中記錄、在終端中打印或與其他返回值組合到一個(gè)數(shù)組中以返回)
4_u1如果1大于零,則遞歸調(diào)用square_u1;decompose(M_1;1)如果它等于零,則將x保存到文件中,不追加,然后退出。
這是一個(gè)非??焖俚乃惴?,加速的關(guān)鍵是保持一個(gè)完整的方桌。如果能改進(jìn)求完全平方的算法,速度會(huì)更快!