求最多連續小球編號個數

2021-10-03 21:19:01 字數 1051 閱讀 2452

現有一袋有數字的小球,各球的數字不重複,請給出合適的演算法,給最多有多少個編號連續的小球,要求演算法的時間複雜度為o(n

)o(n)

o(n)

。雜湊表+圖的深度搜尋

#define size 97

//思路:先將序列加入雜湊鍊錶;再查詢元素的連續序列的+1和-1,

//查詢到後將元素從雜湊表中刪除

typedef

struct hashnode_hashnode;

typedef

struct hashrow_hashrow;

hashrow *row;

hashrow *

initialhashrow()

intgetpos

(int target)

}int

searchelem

(int target)

return0;

}}intaddelem

(int target)

intdeleteelem

(int target)

else p=p->next;

while

(p!=

null

) p=p->next;

q=q->next;

}return0;

}}intgetmaxlen

(int

*nums,

int numssize)

for(

int i=

0;i) target=nums[i]

;while

(searchelem

(++target)==1

)//檢測比target大的

cur_size+=1

;deleteelem

(nums[i]);

}if(cur_size>maxsize) maxsize=cur_size;

cur_size=0;

}return maxsize;

}

求1 N 的數中因子是最多的數及其最多的個數

問題描述 求1 n當中約數個數最多的數的個數。輸入格式 t組資料 每一組只有一行。這一行有乙個數n 1 n 10 18 input313 91000000000000000000 output139 103680 分析 直接暴力肯定會超時,那麼怎麼處理呢?根據唯一分解定理,我們可以知道乙個整數是可以...

求亂序排序的N個數中連續K個數的和的最大值。

1 有乙個整形陣列,其元素包含正整數和負整數,找到它的所有子集中元素之和最大的那個子集。如 12,3,54,42,4,5,7 結果為63 12,3,54 要求複雜度為o n intfunc intn,inta return sum 2 求亂序排序的n個數中連續k個數的和的最大值。具體思路 假設有n個...

求乙個陣列的最長連續子串行

分析 如果允許o nlogn 的複雜度,那麼可以先排序,可是本題要求o n 由於序列裡的元素是無序的,又要求o n 首先要想到用雜湊表。用乙個雜湊表unordered mapused 記錄每個元素是否使用,對每個元素,以該元素為中心,往左右擴張,直到不連續為止,記錄下最長的長度。class solu...