力扣187周赛下

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

题目

3.绝对差不超过限制的最长连续子数组

  1. 有序矩阵中的第 k 个最小数组和

思路与算法

  1. 第三题,本题没什么特殊的东西,滑动窗口即可,注意书写即可。
  2. 第四题,由于给的数据比较小,k<=200,因此我们尝试一行一行的更新res的值,res中存放当前几行数据两两枚举后的和的排序之后的值,over。

代码实现

3.绝对差不超过限制的最长连续子数组

class Solution {public int longestSubarray(int[] nums, int limit) {// 窗口左端lint l = 0;int res = 0;if (nums.length == 1) {return 1;}// i为右边界,j从有边界-1开始向左遍历,处理for (int i = 1; i < nums.length; i++) {for (int j = i - 1;j >= l; j--) {// 如果这俩值相等,则不需要处理,直接扩大窗口if (nums[i] == nums[j]) {break;}// 否则需要更新l的值if (Math.abs(nums[i] - nums[j]) > limit) {l = j + 1;break;}}res = Math.max(res,i - l + 1);}return res;}
  1. 有序矩阵中的第 k 个最小数组和
class Solution {public int kthSmallest(int[][] mat, int k) {// 获取行列int m = mat.length;int n = mat[0].length;// 新建长度为k的listList<Integer> res = new ArrayList<>(k);// 把第一行的数添加到res先for (int i = 0; i < n; i++) {res.add(mat[0][i]);}/* 每次加入一行,将这一行和初始res中的第一行的值进行逐个相加求和再排序,直到最后一行加入的             时候,我们只需要排序拿到第k个值即可。*/for (int i = 1; i < m; i++) {List<Integer> newList = new ArrayList<>();for (int oldList : res) {for (int num : mat[i]) {newList.add(oldList + num);}}Collections.sort(newList);// 记得清空res每次res.clear();int len = Math.min(k,newList.size());for (int j = 0;j < len;j++) {res.add(newList.get(j));}}return res.get(k-1);}
}

20200504:力扣187周赛下相关推荐

  1. 20200507:力扣151周赛下

    力扣151周赛下 题目 思路与算法 代码实现 题目 1. 从链表中删去总和值为零的连续节点 思路与算法 只做第三题了,第四题太耗费时间了,第三题对存在的链表进行一个判断就会发现,我们只需要去掉其中相加 ...

  2. 20200503:力扣187周周赛上

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

  3. C#实现力扣双周赛算法题:以组为单位订音乐会的门票订购

    目录: 前言: 一,算法题目描述 二,基本概念理解: 三,例子引入分析 四,代码解释 (1)安排座位函数 (2)查询函数 (2)求出1到RPS内的最小下标 (3)gather函数 (4)scatter ...

  4. 20200501:力扣185周赛上

    力扣185周赛上 题目 思路与算法 代码实现 题目 重新格式化字符串 点菜展示表 思路与算法 第一题,重新格式化字符串,没什么难度,直接遍历分类字符和数字,记得统计出数目,数目多1的那一类必须先拼接, ...

  5. 第一次LeetCode周赛心得(力扣-cn周赛,使用python3)

    第一次力扣参赛:第 174 场力扣周赛 第 174 场力扣周赛赛题: https://leetcode-cn.com/circle/discuss/lEfEkb/view/OrAJAh/ 第 174 ...

  6. 数组的合并和升序排列_每日“力扣”系列10 下一个排列

    今天继续力扣数组标签的算法题,力扣第31题,难度等级为中等,题目描述如下: 题目要点概括如下: 1.输入部分为一个有顺序的数组,按照数字的前后顺序,这个数字代表着一个位数不定的数字,这里程它为原数字. ...

  7. 力扣 187. 重复的DNA序列

    1.题目 DNA序列 由一系列核苷酸组成,缩写为 'A', 'C', 'G' 和 'T'.. 例如,"ACGAATTCCG" 是一个 DNA序列 . 在研究 DNA 时,识别 DN ...

  8. Leetcode周赛复盘——第 71 场力扣双周赛与第 279 场力扣周赛

    双周赛: 5984. 拆分数位后四位数字的最小和 class Solution:def minimumSum(self, num: int) -> int:a, b, c, d = sorted ...

  9. LeetCode 第 69 场力扣双周赛

    5960. 将标题首字母大写 添加链接描述 给你一个字符串 title ,它由单个空格连接一个或多个单词组成,每个单词都只包含英文字母.请你按以下规则将每个单词的首字母 大写 : 如果单词的长度为 1 ...

最新文章

  1. 如何设计一门语言(三)——什么是坑(面向对象和异常处理)
  2. tomcat源码分析_百战卓越108天tomcat和servlet源码分析
  3. MySQL5.7绿色版安装
  4. Solr 中 Schema 结构说明
  5. Office365—Exchange管理4—通讯组和安全组
  6. 求解线性方程组(SVD,QR,Gauss,LU)
  7. Apache Hadoop 源码阅读(陆续更新)
  8. 性能调试工具——oprofile
  9. 怎么把java程序打包?java源代码打包方法
  10. 胶囊网络之 Found a Reason for me? Weakly-supervised Grounded Visual Question Answering using Capsules论文笔记
  11. 树莓派安装Ubuntu server无屏幕开机自动连接WIFI
  12. 定时任务ScheduledExecutorService
  13. 元宇宙下的商人、小说家和“钢铁侠”
  14. 塔尔斯基关于实数的8条公理(原文)
  15. 跨平台长连接组件设计及可插拔改造
  16. python音乐可视化效果_Python 一个漂亮的音乐节奏可视化方案!我觉得可行
  17. 人工智能打造充满创造力的新世界,华为云开发者日无锡站成功举办
  18. 打码平台是如何运作的?再谈验证码安全
  19. python的web自动化框架实例_Selenium基于Python web自动化测试框架 -- PO
  20. URPF学习笔记(手写版)

热门文章

  1. 如何将 MySQL 去重操作优化到极致?| CSDN 博文精选
  2. 彻底火了!这份Python学习贴,90%程序员用的上!
  3. 如何向父母解释什么是爬虫?
  4. 因为简单!我的第一本算法书,就被女友抢走了……
  5. 汽车运输、影视动画、建筑施工,Unite 2019 看技术如何颠覆传统?
  6. Linux 常用命令如何使用?
  7. 这才是程序员春运抢票的正确姿势!
  8. 谁说程序员的老婆和代码不可兼得?!
  9. 中移互联网副总:创新技术如何赋能企业变现突破
  10. 李彦宏站台的世界首家 AI 公园就有啥?怎么去?