2017年阿里線上程式設計題-- 數串分組
給定一串數字 判斷是否存在這三個元素,它們將數字串分為四個子串,其中每個子串的數字之和均相同(該3個元素不納入計算) 要求時間複雜度和空間複雜度均不能超過O(n)
由於不知道具體題目內容和資料範圍,所以做了一些假設
#include <algorithm>
#include <cstdio>
using namespace std;
const int MAX_N = 1e5 + 1; // 陣列最大長度
int number[MAX_N];// 儲存目標陣列
int sum[MAX_N]; // 儲存字首和
int n; // 陣列長度
bool solve() {
// 這裡是假設不能有空部分
for (int i = 1, j = 3, k = 5; i < j; i++) {
while (sum[j] - sum[i + 1] < sum[i] && j < n - 1)
j++;
if (j >= k)
k = j + 2;
while (sum[k] - sum[j + 1] < sum[i] && k < n)
k++;
if (sum[i] == sum[j] - sum[i + 1] && sum[i] == sum[k] - sum[j + 1] && sum[i] == sum[n] - sum[k + 1] )
return true;
}
return false;
}
int main() {
while (~scanf("%d", &n)) {
for (int i = 0; i < n; i++) {
scanf("%d", number + i);
sum[i + 1] = sum[i] + number[i]; // 記錄字首和
}
if (solve())
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
思路就是字首和 + 取尺法
為什麼複雜度是O(n)
雖然for迴圈裡面還有兩個迴圈,但我們這樣想:i,j,k這三個指標會取到相同的值嗎?
肯定是不會的,因為i < j < k這個是恆成立的。所以1~n這n個數,每個數都不會被取第二次,所以複雜度是O(n),而且是在最壞的情況下
相關文章
- 2017年藍橋杯A組-分巧克力(整數二分)
- 【程式設計測試題】阿里巴巴2019年提前批程式設計題程式設計阿里
- 金色十月線上程式設計比賽第一題:小女孩數數程式設計
- 程式設計題-兩數相加程式設計
- 程式設計題:報數遊戲程式設計遊戲
- 2017年------阿里大神帶你詳解Dubbo架構設計阿里架構
- MONGODB03 - 分組計數/分組去重計數(基於 spring-data-mongodb)MongoDBSpring
- 程式設計師進階之路之面試題與筆試題集錦(三)線上程式設計題程式設計師面試題筆試
- 基礎程式設計題(PTA) 7-35 有理數均值 (20分)程式設計
- 我的十年程式設計路 2017年篇程式設計
- 小學數學程式設計題程式設計
- 組合計數思維題
- 2017 年 PHP 程式設計師未來路在何方?PHP程式設計師
- 2017年程式設計師必看的紀錄片程式設計師
- 軟體工程課程設計分組與選題名單軟體工程
- 2017年藍橋杯javaB組——等差素數列Java
- 程式設計師歌曲串燒 首首經典程式設計師
- 線上資料庫設計工具-toolfk程式設計師線上工具網資料庫程式設計師
- 歷年阿里面試題彙總(2017年不斷更新中)阿里面試題
- 《程式設計師的數學》思考題(一)程式設計師
- 金色十月線上程式設計比賽第二題:解密程式設計解密
- 2017年校招全國統一模擬筆試(第五場)程式設計題集合筆試程式設計
- 大廠面試:一個四年多經驗程式設計師的BAT面經(位元組、阿里、騰訊)面試程式設計師BAT阿里
- 天池 線上程式設計 最小振幅(排序)程式設計排序
- 2017年應屆畢業程式設計師平均薪資程式設計師
- 函數語言程式設計:Flutter&Dart中的組合函數程式設計FlutterDart
- 2018年4月份,阿里最新的java程式設計師面試題目阿里Java程式設計師面試題
- 程式碼分層設計
- 七年阿里老人談新人程式設計師的成長阿里程式設計師
- 程式設計師漫畫組圖:程式設計異聞錄程式設計師
- 面試鴨上線了!程式設計師線上面試刷題神器面試程式設計師
- 【演算法】位元組跳動程式設計題-雙生詞演算法程式設計
- 瞭解 JavaScript 函數語言程式設計 - 程式碼組合的優勢JavaScript函數程式設計
- 程式設計能力與程式設計年齡程式設計
- 華為程式設計師面試要改:網上程式設計 90 分鐘,現場程式設計 30 分鐘程式設計師面試
- 2017年個人總結-程式設計師的中年焦慮症程式設計師
- hdu5384 AC自動機模板題,統計模式串在給定串中出現的個數模式
- 谷歌Kickstart 2017 F輪程式設計題解析|掘金技術徵文谷歌程式設計