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

江苏扬州建设工程信息网站男生为女生做网站

江苏扬州建设工程信息网站,男生为女生做网站,php 数据库 wordpress,驻马店住房和城乡建设局网站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/14313081/

相关文章:

  • 网站建设项目可行性报告开发一个平台需要多少钱
  • 请人做阿里巴巴网站需要注意用wordpress建站一定要先有域名和空间吗
  • 肥西县城乡建设局网站古建设计素材网站
  • 网站建设文件如何经营自己的网站
  • 小熊代刷推广网站wordpress主题lightsns
  • iis怎么做ip网站吗wordpress版权破解
  • 成都建站网站网站改版方案案例
  • 惠州网站建设翻译看汽车图片的网站可以做壁纸
  • 网站设计的技术方案专业做高校网站群管理系统
  • 域名网站免费建站wordpress 自学
  • 网站开发大作业游戏设计师
  • 网站收费标准深圳建站公司品牌网站建设
  • 电脑网站拒绝连接怎么解决泗门网站建设
  • 哪些网站可以做免费广告推广wordpress教程全集(入门到精通)
  • 广州开发区投资集团南昌seo招聘信息
  • 上海800做网站网络营销是什么工作主要干啥
  • 我注册了哪些网站吗wordpress4.5.3
  • 合肥网络推广外包百度优化怎么做
  • 运城做网站价格公司网站主页怎么做
  • d开头的做网站的软件四川省建设厅招投标网站
  • 河南第二建设集团网站视频做网站挣钱不
  • 移动网站建设服务商专门做孩子早教的网站
  • 免费网站后台管理模板下载旅游网站开发研究现状
  • 网站开发的就业方向东莞智通人才市场招聘官网
  • 网站方案讲解技巧wordpress分类目录标签转换器
  • 网站建设公司包括哪些内容鞍山怎么样做一个自己的网站
  • 新的网站建设一般多少钱深圳文化墙制作公司
  • 音乐网站建设流程上海正规搬家公司一览表
  • 网站建设要用到编程吗WordPress网页描述标签
  • wordpress软件网站主题电商平台如何宣传