【算法·Algorithms】算法目录
2021/8/13 17:06:05
本文主要是介绍【算法·Algorithms】算法目录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
3. Dynamic Programming
links
dp 分类:
LIS | LCS
区间dp( OI 区间dp | dp区间入门)
Sum: k n 问题
int waysOfSumGreater(int n,int k){ int dp[n+2][n+2]; memset(dp,0,sizeof(dp)); for(int i=1;i<n+1;i++){ dp[i][i]=1; for(int j=i-1;j>=1;j--){ dp[i][j]=dp[i][j+1]+dp[i-j][j]; } } return dp[n][k]; } int waysOfSumLess(int n,int k){ int dp[n+1][n+1]; memset(dp,0,sizeof(dp)); for(int j=0;j<n+1;j++){ dp[0][j]=1; } for(int i=1;i<n+1;i++){ dp[i][0] = 0; dp[i][1] = 1; for(int j=2;j<n+1;j++){ if(j>i) dp[i][j] = dp[i][i]; else dp[i][j] = dp[i][j-1]+dp[i-j][j]; } } // for(int i=0;i<n+1;i++){ // for(int j=0;j<n+1;j++) // cout<<dp[i][j]<<" "; // cout<<endl; // } return dp[n][k]; }
4. Greedy
vector<string> splitString(string s,string delimiter){ size_t pos=0; vector<string> result; while((pos=s.find(delimiter))!=std::string::npos){ string token = s.substr(0,pos); result.push_back(token); s.erase(0,pos+delimiter.size()); } //"1,2,3" last without token result.push_back(s); return result; } vector<string> splitString(string s,string delimiter){ auto start = 0U; //unsigned integer auto end = s.find(delimiter); vector<string> result; while(end!=std::string::npos){ string token = s.substr(start,end-start); result.push_back(token); start = end+delimiter.size(); end = s.find(delimiter,start); } //"1,2,3" last without token result.push_back(s.substr(start,end)); return result; }
5. Backtrack
这篇关于【算法·Algorithms】算法目录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-26通过 gcloud CLI 认证从本地脚本写入 Google Sheets
- 2024-09-24GoLand 新建项目 Enable vendoring support automatically 的作用是什么?-icode9专业技术文章分享
- 2024-09-21MongoDB资料:新手入门与初级应用指南
- 2024-09-20MongoDB教程:初学者必备指南
- 2024-09-05MongoDB入门:快速掌握NoSQL数据库基础
- 2024-08-28go 项目中怎么打印调试-icode9专业技术文章分享
- 2024-08-21swoole未来的发展前景与golang对比哪个更好-icode9专业技术文章分享
- 2024-08-16goland 已经下了中文插件了, 怎么设置成中文-icode9专业技术文章分享
- 2024-07-26使用 SendGrid 的 Go 客户端库能同时给多个邮箱发吗-icode9专业技术文章分享
- 2024-07-26使用 SendGrid 的 Go 客户端库时怎么设置header 和 标签tag 呢-icode9专业技术文章分享