寒武紀演算法開發崗位二面手撕程式碼題目記錄
寒武紀演算法開發崗位二面手撕程式碼題目記錄
該程式碼是寒武紀的二面面試題:
題目:
給定一個陣列,求能組成的和中,最小不可能的和。
例如:[1,2,3,5],最小不可能的和為12。
#include<iostream> #include<vector> #include<string> #include<algorithm> using namespace std; int minNoSum(vector<int>& data) { int n = data.size(); if (n == 0) return 0; if (n == 1) return 1; int minv = INT_MAX; int sum = 0; sort(data.begin(), data.end()); for (int i = 0; i < n; ++i) { if (data[i] < minv) minv = data[i]; sum += data[i]; } // dp[i][j]表示前i個數,和為j是否能取到 vector<vector<bool>> dp(n, vector<bool>(sum+1, 0)); for (int num : data) { dp[0][num] = 1; } for (int i = 1; i < n; ++i) { for (int j = 1; j <= sum; ++j) { if (j >= data[i]) { dp[i][j] = dp[i-1][j] || dp[i-1][j-data[i]]; } else { dp[i][j] = dp[i - 1][j]; } } } for (int i = 1; i < sum; ++i) { if (!dp[n - 1][i]) return i; } return sum + 1; } int main() { vector<int> data = {1,2,4,5}; int res = minNoSum(data); cout << res << endl; system("pause"); return 0; }
相關文章
- 面試常見手撕程式碼題面試
- 『手撕Vue-CLI』獲取下載目錄Vue
- 記錄一次騰訊Go開發崗位面試經過Go面試
- 《星辰牧歌》開發程式紀錄
- 手撕Flutter開發Flutter
- 程式碼目錄結構記錄
- 華為2018屆校園招聘筆試題目以及相應程式碼分享 軟體開發崗位筆試
- 對於技術崗位而言,開發崗累還是演算法崗累呢?演算法
- 寒武紀財報: 2022年寒武紀營收7.29億元 同比增長1.11%營收
- 前端面試-手撕程式碼篇前端面試
- 🐒編寫高質量程式碼(手撕程式碼)
- 深度學習高頻手撕程式碼深度學習
- 前端筆試題——手撕快速排序(保姆級手撕)前端筆試排序
- 讀所羅門的密碼筆記10_寒武紀國家與城堡國家密碼筆記
- 微信小程式開發記錄_01程式碼構成微信小程式
- 【問題記錄】— web頁面呼叫本地程式Web
- 中科曙光助陣寒武紀新品釋出
- JAVA開發人員面試題書目錄Java面試題
- 手撕面試題ThreadLocal!!!面試題thread
- 如何入行軟體開發——常見問題及崗位分工
- 2015年Java開發崗位面試題歸類Java面試題
- 微信小程式開發記錄_03_開發指南_小程式程式碼組成微信小程式
- Linux程式開發中如何判斷目錄是否為根目錄?Linux
- 【刷遊戲開發面經記錄】2遊戲開發
- 獨家 | 寒武紀二代晶片釋出在即,提前解密如何挑戰英偉達!晶片解密
- 【資料結構與演算法】手撕平衡二叉樹資料結構演算法二叉樹
- AI崗位秋招紀實:演算法原理紮實才是王道,而不是調參AI演算法
- [新手開發記錄] 規劃網站目標網站
- 程式碼審計————目錄
- 使用chrome開發程式,自動重新整理開發目錄Chrome
- 【資料結構與演算法】手撕二叉查詢樹資料結構演算法
- LeetCode解題記錄(貪心演算法)(二)LeetCode演算法
- 騰訊前端二面手寫面試題前端面試題
- 光速過會IPO:寒武紀打響AI持久戰AI
- 程式碼隨想錄演算法 - 二叉樹演算法二叉樹
- Java基礎題目記錄-01Java
- 題目記錄(一直更新
- 原生微信小程式開發記錄微信小程式