186周周赛(上)(leetcode5392-5394)

  • 题目
  • 思路与算法
  • 代码实现
  • 总结

题目

5392:分割字符串的最大得分

5393:可获得的最大点数

5394:对角线遍历Ⅱ

思路与算法

  1. 5392:分割字符串的最大得分。这题没有什么多想的,直接暴力划分字符串为两部分,然后再计数各自字符串中0和1的个数进行比较即可。
  2. 5393:可获得的最大点数。 本题体现一个滑动窗口的实现,一开始的思路是从中间取一个连续的滑动窗口,此窗口内的和最小,则剩下的值的和最大。但是TLE了。因此重新考虑使用动态规划来实现,具体的实现方式也很简单,dp[i]表示从第1个数到第i个数之和。从左边取dp[j],从右边数取k - j 个数即可。比较取到的数的最大值返回即可。
  3. 5394:对角线遍历Ⅱ。思路简单,但是代码实现时需要特别注意不要写错,对角线的元素的下标和是一样的,据此来遍历就行了。需要使用Map,但是只能是TreeMap或者LinkedHashMap这两种不会破坏添加顺序的map来实现。具体见代码。
  4. 5395的dp疯狂TLE,到时间也写不出来,明天参考大佬的题解来记录。

代码实现

5392:分割字符串的最大得分

class Solution {public int maxScore(String s) {int len = s.length();int MAX_NUM = Integer.MIN_VALUE;int res = 0;int tmp;for (int i = 1; i < len ; i++ ){tmp = 0;String former = s.substring(0,i);String latter = s.substring(i,len);for (int j = 0; j < former.length(); j++){if (former.charAt(j) == '0' ){tmp++;}}for (int k = 0; k < latter.length(); k++){if (latter.charAt(k) == '1'){tmp++;}}res = Math.max(tmp,res);}return res;}
}

5393:可获得的最大点数

class Solution {public int maxScore(int[] cardPoints, int k) {int len = cardPoints.length;int res = Integer.MIN_VALUE;int[] dp = new int[len + 1];for (int i = 0; i < len ; i++) {dp[i + 1] = dp[i] + cardPoints[i];}for (int j = 0; j <= k; j++) {res = Math.max(res,dp[j] + dp[len] - dp[len - k + j]);}return res;}
}

5394:对角线遍历Ⅱ

class Solution {public int[] findDiagonalOrder(List<List<Integer>> nums) {int len = 0;Map<Integer, List<Integer>> map = new TreeMap<>();for (int i = 0; i < nums.size(); i++) {len += nums.get(i).size(); for (int j = 0; j < nums.get(i).size(); j++) {if (map.containsKey(i + j)) {map.get(i + j).add(nums.get(i).get(j));} else {List<Integer> list = new ArrayList<>();list.add(nums.get(i).get(j));map.put(i + j, list);}}}int[] ans = new int[len];int index = 0;for (int key : map.keySet()) { List<Integer> list = map.get(key);for (int j = list.size() - 1; j >= 0; j--) { ans[index] = list.get(j);index++;}}return ans;}
}

总结

纯数组的周赛都做的如此费劲,我还是太菜了,ε=(´ο`*)))唉

20200426:186周周赛(上)(leetcode5392-5394)相关推荐

  1. 20200724:力扣197周周赛上

    力扣197周周赛上 题目 思路与算法 代码实现 复杂度分析 题目 好数对的数目 仅含 1 的子串数 思路与算法 第一题直接暴力或者使用map来存值,注意到我们只需要找到这个数字出现的次数num,那么其 ...

  2. 20200705:力扣196周周赛上

    力扣196周周赛上 题目 思路与算法 代码实现 复杂度分析 判断能否形成等差数列 题目 所有蚂蚁掉下来前的最后一刻 请注意仔细看给的示例: 思路与算法 题目给定了数组长度大于等于2,也就是说,先排序, ...

  3. 20200701:力扣194周周赛上

    力扣194周周赛上 题目 思路与算法 代码实现 复杂度分析 题目 数组异或操作 保证文件名唯一 注意这个示例: 思路与算法 半个月没写博客了,太懒了,不能再拖延了,今天开始全部带上C++和Java的双 ...

  4. 20200616:力扣193周周赛上

    力扣193周周赛上 题目 思路与算法 代码实现 写在最后 题目 一维数组的动态和 不同整数的最少数目 思路与算法 第一题没啥好说的,动态和,dp最基础的东西. 第二题主要是一个贪心的过程,既然要剩下的 ...

  5. 20200612:力扣192周周赛上

    力扣192周周赛上 题目 思路与算法 代码实现 复杂度分析 题目 1. 重新排列数组 2. 数组中的k个最强值 思路与算法 第一题不需要太多思路,最简单的就是list,list将要求的顺序的数依次收入 ...

  6. 20200505:力扣151周周赛上

    力扣151周周赛上 题目 思路与算法 代码实现 题目 查询无效交易 2.比较字符串最小字母出现频次 思路与算法 第一题直接将我们需要的这四组数据包装成一个Transaction对象,主要是注意书写问题 ...

  7. 20200503:力扣187周周赛上

    力扣187周周赛上 题目 思路与算法 代码实现 复杂度分析 题目 旅行终点站 是否所有 1 都至少相隔 k 个元素 思路与算法 第一题我没做出来,说来惭愧,菜的离谱.看大神的题解豁然开朗,这题类似之前 ...

  8. 20200428:186周周赛下(leetcode1425)

    186周周赛下 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 这题一开始想的是dp,但是咋做都超时,看了大佬们优化后的dp,但是感觉暂时只能参考,需要时间消化,第一步dp的简单思路为:dp ...

  9. 20200421:周赛练习题(leetcode148周周赛上)

    148周赛练习题 题目 思路与算法 代码实现 复杂度分析 题目 递减元素使数组呈锯齿状 二叉树着色游戏 思路与算法 第一题不用想太多,直接分为上坡起步和下坡起步来分类就行,注意将转换用的数组复制一份, ...

最新文章

  1. DevExpress v15.1:WPF控件升级(四)
  2. LeetCode 56. Merge Intervals
  3. rac_安装软件时报版本号过高问题
  4. <%=(String)request.getAttribute(““) %>的作用是什么
  5. java分布式对象RMI应用测试用例
  6. 读书笔记-说服力 让你的PPT会说话
  7. heavy hitter是什么意思?
  8. 对计算机组装和维护课的总结,计算机组装与维护教师工作总结
  9. 华为8817升级Android5,华为c8817E官方升级包大集合
  10. hive like与rlike的区别
  11. Linux下socket编程的简单实例
  12. 字体角度css代码,CSS中font-style定义字体倾斜体样式的代码示例
  13. Odoo----的消息系统 - Mail 模块 - Discuss 应用
  14. Linux重启 Redis自动启动
  15. python总结9(实战)
  16. 人工智能研究中心快递柜——代码分析六
  17. SV-- event(二)
  18. 计算机教师评语中职,中职期末评语
  19. 雨雨cms-YYCMS5.0新版影视网源码自动采集数据-玥雅CMS
  20. 怎么修改打印机服务器权限,打印机管理_怎样设置打印机管理权限

热门文章

  1. 高效编排有状态应用——TiDB 的云原生实践与思考
  2. 开源游戏《一小时人生》GitHub仓库被删,CEO亲自道歉
  3. 深航 App 劫持微信;董明珠:给员工分房加薪是应得的回报;ofo 复活 | 极客头条...
  4. 欧洲互联网将“死于”版权法?
  5. “十亿赌约”,雷军输,董明珠胜?
  6. UCan下午茶武汉站,为你全面挖宝分布式存储
  7. 国产数据库崛起 Gartner!
  8. Google 将于明年彻底关闭 Chrome Apps,以后就是 PWA 的天下了
  9. win7 oracle数据库删除用户名,win7操作系统、 oracle10g 数据库创建、卸载 用户名的创建 、删除...
  10. 字节跳动高工面试:mysql查询重复数据sql