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

怎么做网站的排名优化网站seo百度百科

怎么做网站的排名优化,网站seo百度百科,怎么做纪念网站,太原关键词排名首页目录 一,3216. 交换后字典序最小的字符串 二,3217. 从链表中移除在数组中存在的节点 三,3218. 切蛋糕的最小总开销 I 四,3219. 切蛋糕的最小总开销 II 一,3216. 交换后字典序最小的字符串 本题要求交换一次相邻字符…

目录

一,3216. 交换后字典序最小的字符串

二,3217. 从链表中移除在数组中存在的节点

三,3218. 切蛋糕的最小总开销 I

四,3219. 切蛋糕的最小总开销 II


一,3216. 交换后字典序最小的字符串

本题要求交换一次相邻字符后得到字典序最小的字符串,且要求相邻字符的的奇偶相同,我们可以直接贪心,从左往右查找第一对相邻奇偶相同且左边>右边的字符对,将两者交换就行。

代码如下:

class Solution {public String getSmallestString(String s) {char[] ch = s.toCharArray();for(int i=1; i<ch.length; i++){if(ch[i-1]>ch[i] && (ch[i]-ch[i-1])%2==0){char tmp = ch[i-1];ch[i-1] = ch[i];ch[i] = tmp;break;}}return new String(ch);}
}

二,3217. 从链表中移除在数组中存在的节点

本题是一道基础的链表题,不懂链表的可以去看看这篇双向链表详解。

代码如下:

class Solution {public ListNode modifiedList(int[] nums, ListNode head) {Set<Integer> set = new HashSet<>();for(int x : nums) set.add(x);ListNode newHead = new ListNode(0, head);ListNode cur = newHead;while(cur.next != null){if(set.contains(cur.next.val)){cur.next = cur.next.next;}else{cur = cur.next;}}return newHead.next;}
}

三,3218. 切蛋糕的最小总开销 I

本题数据范围较小,可以使用dfs来做,可以有这样的四个参数(上端点,下端点,左端点,右端点),定义dfs(l1,r1,l2,r2):为上端点,下端点,左端点,右端点分别为l1,r1,l2,r2时切割成1x1所需要的最小开销。比如我们要在 i 处水平切一刀,那么原问题就会分成上下两个部分,即dfs(l1,i,l2,r2) + dfs(i+1,r1,l2,r2) + h[i],垂直切一刀也是同理。

如图,这里定义l < r:

代码如下:

class Solution {public int minimumCost(int m, int n, int[] h, int[] v) {memo = new int[m][m][n][n];for(int i=0; i<m; i++)for(int j=0; j<m; j++)for(int k=0; k<n; k++)Arrays.fill(memo[i][j][k], -1);return dfs(0, m-1, 0, n-1, h, v);}int[][][][] memo;int dfs(int l1, int r1, int l2, int r2, int[] h, int[] v){if(l1 == r1 && l2 == r2) return 0;if(memo[l1][r1][l2][r2] != -1) return memo[l1][r1][l2][r2];int res = Integer.MAX_VALUE;for(int i=l1; i<r1; i++){res = Math.min(res, dfs(l1, i, l2, r2, h, v) + dfs(i+1, r1, l2, r2, h, v) + h[i]);}for(int i=l2; i<r2; i++){res = Math.min(res, dfs(l1, r1, l2, i, h, v) + dfs(l1, r1, i+1, r2, h, v) + v[i]);}return memo[l1][r1][l2][r2] = res;}
}

四,3219. 切蛋糕的最小总开销 II

本题就不能使用上述做法,会超时,可以使用贪心来做,如图:

代码如下:

class Solution {public long minimumCost(int m, int n, int[] h, int[] v) {Arrays.sort(h);Arrays.sort(v);int i = m-2, j = n-2;int cntH = 1, cntV = 1;long ans = 0;while(i >= 0 && j >= 0){if(v[j] > h[i]){ans += cntV*v[j];cntH++;j--;}else{ans += cntH*h[i];cntV++;i--;}}while(i >= 0){ans += cntH*h[i];i--;}while(j >= 0){ans += cntV*v[j];j--;}return ans;}
}

 

http://www.mmbaike.com/news/22350.html

相关文章:

  • 如何知道网站用什么程序做的百度推广开户渠道公司
  • 加强网站建设的长沙百度关键词搜索
  • 南京电商网站建设网站制作大概多少钱
  • 建设官方网站商品推广软文800字
  • php网站颜色改变网站推广优化方案
  • 网站怎么做页游网站快速优化排名推荐
  • 怎样做二维码网站网站如何推广运营
  • 做vip兼职设计师的网站有哪些网络公关
  • 建站公司都有哪些市场营销培训课程
  • 怎样注册商标申请seo优化
  • 江阴哪里有做网站推广厦门小鱼网
  • 在线编辑网页宁波seo优化
  • 网站建设学什么企业网站排名优化
  • 搭建网站公司哪家好seo搜索引擎优化简历
  • wordpress 公式编辑器免费推广seo
  • 做导航网站把别人的网址链接过来要经过允许吗产品seo怎么优化
  • 河南做网站 河南网站建设报个电脑培训班要多少钱
  • 网站自己做推广万网的app叫什么
  • 网站建设与实践百度推广电话
  • 公司做网站公司深圳百度推广seo公司
  • 为什么要做响应式网站seo高端培训
  • 便利的集团网站建设搜索引擎优化实验报告
  • 网上商城网站建设方案书广西seo
  • 一个网站建设哪家快百度链接
  • 北京网站优化校学费百度推广点击软件
  • wordpress主题如何修改长春关键词优化排名
  • 接网站开发私活如何签合同百度权重4网站值多少钱
  • 小程序网站开发运行合同公众号怎么做文章推广
  • 智慧旅游网站开发与设计与实现站长工具seo综合查询论坛
  • 做国产免费视频网站有效的网络推广