当前位置: 首页 > news >正文

合肥市城乡建设局网站首页建设农产品网站总结ppt

合肥市城乡建设局网站首页,建设农产品网站总结ppt,天蓝色网站,解读网站建设2306. 公司命名 给你一个字符串数组 ideas 表示在公司命名过程中使用的名字列表。公司命名流程如下#xff1a; 从 ideas 中选择 2 个 不同 名字#xff0c;称为 ideaA 和 ideaB 。 交换 ideaA 和 ideaB 的首字母。 如果得到的两个新名字 都 不在ideas 中#xff0c;那么 …2306. 公司命名 给你一个字符串数组 ideas 表示在公司命名过程中使用的名字列表。公司命名流程如下 从 ideas 中选择 2 个 不同 名字称为 ideaA 和 ideaB 。 交换 ideaA 和 ideaB 的首字母。 如果得到的两个新名字 都 不在ideas 中那么 ideaA ideaB串联 ideaA 和 ideaB 中间用一个空格分隔是一个有效的公司名字。 否则不是一个有效的名字。 返回 不同 且有效的公司名字的数目。 数据范围 2 ideas.length 5 * 1041 ideas[i].length 10ideas[i] 由小写英文字母组成ideas 中的所有字符串 互不相同 分析 将字母按开头分类放入 v e c t o r vector vector中预处理每个开头对应的集合中的单词在和后面的字母交换首字母后仍然合法的单词的数量放在 c n t [ i ] [ j ] cnt[i][j] cnt[i][j]中( c n t [ i ] [ j ] cnt[i][j] cnt[i][j]表示以 i i i开头的单词集中若和字符j交换首字母后仍然合法的单词数目)外层循环遍历所有的单词内存循环遍历字母序比当前单词首字母小的字母若能交换则 r e s res res加上 c n t cnt cnt对应的值。 代码 typedef long long LL; class Solution { public:const static int N 35, M 5e4 5;// unordered_mapstring, bool vis;unordered_setstring st;int cnt[N][N];vectorstring idea[N];long long distinctNames(vectorstring ideas) {for(auto v : ideas) {// vis[v] true;st.insert(v);idea[v[0] - a].push_back(v);}for(int i a - a; i z - a; i ) {for(int j a; j z; j ) {for(auto k : idea[i]) {string ts k;ts[0] j;// if(!vis[ts]) cnt[i][j - a] ;if(!st.count(ts)) cnt[i][j - a] ;}}}LL res 0;for(int i a - a; i z - a; i ) {for(auto s : idea[i]) {for(int j 0; j i; j ) {string ts s;ts[0] char(j a);if(st.count(ts)) continue;res cnt[j][i];}}}return res * 2;} };740. 删除并获得点数 给你一个整数数组 nums 你可以对它进行一些操作。 每次操作中选择任意一个 nums[i] 删除它并获得 nums[i] 的点数。之后你必须删除 所有 等于 nums[i] - 1 和 nums[i] 1 的元素。 开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。 数据范围 1 nums.length 2 * 1041 nums[i] 104 分析 将每个数字出现的个数用cnt数组记录令dp[i][0]表示不删除值为i的数获得点数最大值dp[i][1]表示删除值为i的数获得点数最大值状态转移如下 d p [ i ] [ 0 ] m a x ( d p [ i − 1 ] [ 1 ] , d p [ i − 1 ] [ 0 ] ) dp[i][0]max(dp[i-1][1],dp[i-1][0]) dp[i][0]max(dp[i−1][1],dp[i−1][0]) d p [ i ] [ 1 ] d p [ i − 1 ] [ 0 ] c n t [ i ] ∗ i dp[i][1]dp[i-1][0]cnt[i]*i dp[i][1]dp[i−1][0]cnt[i]∗i 代码 class Solution { public:const static int N 1e4 5;int cnt[N];int dp[N][2];int n;int deleteAndEarn(vectorint nums) {n nums.size();for(int i 0; i n; i ) cnt[nums[i]] ;for(int i 1; i N - 5; i ) {dp[i][0] max(dp[i - 1][0], dp[i - 1][1]);dp[i][1] dp[i - 1][0] cnt[i] * i;}int res 0;for(int i 0; i N - 5; i ) {res max(res, dp[i][0]);res max(res, dp[i][1]);}return res;} };120. 三角形最小路径和 给定一个三角形 triangle 找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 1 的两个结点。也就是说如果正位于当前行的下标 i 那么下一步可以移动到下一行的下标 i 或 i 1 。 数据范围 1 triangle.length 200triangle[0].length 1triangle[i].length triangle[i - 1].length 1-104 triangle[i][j] 104 分析 简单DP注意在边界的情况 代码 class Solution { public:const static int N 205;int dp[N][N];int minimumTotal(vectorvectorint triangle) {int n triangle.size();for(int i 0; i n; i ) {for(int j 0; j i; j ) {if(j 0) dp[i 1][j 1] dp[i][j 1] triangle[i][j]; else if(j i) dp[i 1][j 1] dp[i][j] triangle[i][j]; else dp[i 1][j 1] min(dp[i][j 1], dp[i][j]) triangle[i][j];}}int res 0x3f3f3f3f;for(int i 0; i n; i ) res min(res, dp[n][i 1]);return res;} };
http://www.hkea.cn/news/14398452/

相关文章:

  • 网站副标题的作用合肥网站建设培训学校
  • 安徽网站建设认准-晨飞网络视频拍摄制作合同
  • 营销类型网站怎么建设滁州网站建设费用
  • wordpress网站入口客栈网站建设代码
  • 网站建设与管理学习收获怎么使用源码建网站
  • 网站建设排版页面哪个网站使用vue 做的
  • forum wordpress潍坊seo招聘
  • 肇庆网站建设咨询宽屏企业网站模板
  • 网站被k换域名 老域名能不能跳转wordpress配置是提升数据库错误
  • 梦扬科技 合肥网站建设头条热点新闻
  • 哪个网站可以做公众号封面工商信息公示系统查询
  • 石家庄市规划建设局网站创意设计广告
  • 做网站每天都要花钱么asp.net做的音乐网站
  • 做网站源码wordpress保护
  • 做个公司网站多少钱常见的搜索引擎有哪些
  • 怎么做网页模板展示网站h5网站
  • 网站的目标客户是深圳企业排行
  • 武功网站开发自助搭建平台
  • 智慧团建官方网站电脑版wordpress 评论 验证码
  • 查询网站备案时间查询平面设计网上培训机构
  • 做网站的感想关于wap网站模板下载
  • 广州知名网站建设青岛设计网站公司
  • 长沙网站开发智图书馆门户网站建设
  • 冠县品牌网站建设推广万域网站建设
  • 电脑去哪里建设网站网站备案 视频
  • jsp做的网站后台信息深圳十大教育培训机构排名
  • 能打开任何网站浏览器下载网站导航条和表格怎么做
  • 网站设置怎么清除百度首页广告多少钱
  • 网站备案要什么wordpress底下固定
  • 网站进入沙盒的表现wordpress怎么迁移到空间