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

算法训练第二天

209. 长度最小的子数组

思路:

这道题原本想用后缀和。但是超时了。只能用双指针模拟一个滑动窗口并用一个变量sum去记录窗口内的和。

代码:

class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:min_len = 0x3f3f3f3fsum = 0i = 0for j in range(0, len(nums)):sum += nums[j]while sum >= target:cur_len = j - i + 1min_len = min(min_len, cur_len)sum -= nums[i]i += 1return min_len if min_len != 0x3f3f3f3f else 0

59. 螺旋矩阵 II

思路:

很简单的一道模拟类的题目,只需要想清楚填充的区间即可。

代码:

class Solution(object):def generateMatrix(self, n):""":type n: int:rtype: List[List[int]]"""arr = [[0 for h in range(0,n)] for i in range(0,n)]i = 0j = 0this_num = 1while this_num <=n*n:while j<n and arr[i][j]==0:arr[i][j] = this_numj+=1this_num+=1j-=1i+=1while i<n and arr[i][j]==0:arr[i][j] = this_numi += 1this_num += 1i-=1j-=1while j>=0 and arr[i][j]==0:arr[i][j] = this_numj -= 1this_num += 1j+=1i-=1while i>=0 and arr[i][j]==0:arr[i][j] = this_numi -= 1this_num += 1i+=1j+=1return arr

58. 区间和

思路:

经典的前缀和算法应用。

代码:

import sysdef main():num = int(int(sys.stdin.readline()))arr = [int(int(sys.stdin.readline())) for i in range(num)]arr1 = arr.copy()for i in range(1,num):arr1[i] += arr1[i-1]for line in sys.stdin:a, b = map(int, line.strip().split())print(arr1[b]-arr1[a]+arr[a])if __name__ == '__main__':main()
http://www.xdnf.cn/news/703855.html

相关文章:

  • 【AI智能体】Coze 插件从使用到实战详解
  • 从法律层面剖析危化品证书:两证一证背后的安全逻辑
  • Perforce P4产品简介:无限扩展+全球协作+安全管控+工具集成(附下载)
  • Android 异步编程中协程的完整实战示例
  • OpenFeign vs MQ:微服务通信如何选型?详解同步与异步的适用场景
  • C++23 std::fstreams基础回顾
  • 【25软考网工】第九章(2)网络管理命令
  • Vue-Router 基础使用
  • 结构性设计模式之Bridge(桥接)
  • 如何处理 Python 入门难以进步的现象
  • 常见路由协议解析:从原理到应用场景
  • 深入解析 Spring @Transactional 的事务开启机制
  • 谈谈iostat
  • 企业信息化/数字化项目管理办法V3.0
  • 红棉花板材亮相德国科隆展 东方智造赋能全球家居未来
  • 二重积分 -- 立体的体积
  • C++与Java类和对象的异同
  • 依赖nacos实例动态创建线程池并监听服务上下线
  • 深度解读漏洞扫描:原理、类型与应用实践
  • PostGIS栅格数据类型解析【geomval】
  • makefile学习笔记
  • Java图片处理实战:Imgscalr技术方案
  • 视觉中国:镜头下的中国发展图景
  • C++030(内联函数)
  • Δ-Σ ADC的工作原理
  • 2025东北CCPC(部分+详解)
  • Java从入门到精通 - 面向对象编程基础
  • 将can日志数据提取到excle中
  • HOMIE——遥操类似ALOHA主从臂的外骨骼驾驶舱收集数据:通过上肢模仿学习和全身控制RL训练自主策略
  • JVM虚拟机监控及性能调优实战!