首页 > 其他分享 >每日一结

每日一结

时间:2022-10-26 17:37:19浏览次数:33  
标签:deque last cur int 每日 一结 ans sum

862. 和至少为 K 的最短子数组

求出一个数组,sum[i] = 前i个数字之和;
和至少为k,最简单的是两层遍历;
为了时间快一些,可以采用栈来存放下标;
for(int i = 0; i <= n; i++) {
long cur = sum[i];
while(!deque.isEmpty() && cur - sum[deque.peekFirst()] >= k) {符合条件
ans = Math.min(ans, i - deque.removeFirst());
}
while(!deque.isEmpty() && sum[deque.peekLast()] >= cur) {超过当前值,直接取出,提升速度
deque.removeLast();
}
deque.offerLast(i);
}
return ans == n + 1 ? -1 : ans;


62. 不同路径

动态规划,初始化第零行和第零列,因为可以确定,到这些位置只有一种走法;
for(int i = 1; i < m; i++) {
for(int j = 1; j < n; j++) {
dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
}
}


59. 螺旋矩阵 II

和螺旋输出解法一样;
只是这里是填数字;


55. 跳跃游戏

倒着来;
记录下最后一个位置last;
看last之前的位置,加上当前位置的步数能否到达last, 若能则更新last为当前位置;
for(int i = last - 1; i >= 0; i--) {
if(i + nums[i] >= last) {
last = i;
}
}
return last == 0;


53. 最大子数组和

采用动态规划;
把当前位置的数字,当成子数组中最后一个数字;
int cur = 0;
int ans = nums[0];
for(int num : nums) {
cur = Math.max(cur + num, num);
ans = Math.max(ans, cur);
}
return ans;

标签:deque,last,cur,int,每日,一结,ans,sum
From: https://www.cnblogs.com/xtag/p/16829230.html

相关文章

  • Python|爬取每日疫情数据并使用matplotlib绘制图像进行分析
    网页分析数据源腾讯疫情实时追踪打开网址,F12进入开发者工具(刷新一下页面),如下,所有数据都可以通过接口获取:国内数据接口:https://api.inews.qq.com/newsqa/v1/query/inn......
  • 2022.10.24每日一题
    路径计数题目描述有一个\(n×n\)的网格,有些格子是可以通行的,有些格子是障碍。一开始你在左上角的位置,你可以每一步往下或者往右走,问有多少种走到右下角的方案。由于......
  • 2022.10.23每日一题
    任务分配题目描述你有\(n\)个任务,其中第\(i\)个任务,在\(s_i\)开始,\(e_i\)时刻结束,如果做这个任务,你能获得\(w_i\)的收益。但是你在一个时刻只能做一个任务,问选......
  • 信息系统项目管理师案例分析每日一练试题内容(2022/10/22)
    信息系统项目管理师案例分析每日一练试题内容(2022/10/22)阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】2018年1月,信管网系统集成公司中标本市某地......
  • 每日一结
    16.最接近的三数之和for(inti=0;i<nums.length-2;i++)while(l<r){intcur=nums[i]+nums[l]+nums[r];if(Math.abs(cur-target)<Math.abs(close......
  • 2022.10.22每日一题
    饿饿饭饭题目描述有\(n\)个同学正在排队打饭,第\(i\)个同学排在从前往后第\(i\)个位置。但是这天食堂内只有一个食堂阿姨,为了使同学们都能尽快的吃上饭,每一个同学......
  • 每日算法2:翻转字符串
    题目描述:判断字符串中重复次数最多的字符//解决思路://1.判断字符重复的方法//创建空数组,利用键值对形式对每个字符进行计数//用到采用for循环结合if判断对象......
  • Web3 每日资讯(2022-10-20)
    观风向,赢未来。03:24华纳兄弟将发行《指环王》系列NFT04:20特斯拉Q3财报:比特币持仓量保持不变06:51Solana联合创始人表示,Web3手机是对抗谷歌和苹果的机会,目前Web3智......
  • 每日算法:驼峰转换,判断连续字符
    每日算法今日是:1、将字符串转换为驼峰格式2、判断字符串中是否有连续重复的字符将字符串转换成驼峰格式//css中经常有类似background-image这种通过-连接的字......
  • 【力扣每日一题】第一题,一维数组的动态和
    题目给你一个数组nums。数组「动态和」的计算公式为:runningSum[i]=sum(nums[0]…nums[i])。请返回nums的动态和。示例1输入:nums=[1,2,3,4]输出:[1,3,6,10]解释:动态......