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

每天刷两道题——第十天

1.1和为k的子数组

给你一个整数数组 n u m s nums nums 和一个整数 k k k ,请你统计并返回 该数组中和为 k k k子数组的个数子数组是数组中元素的连续非空序列

输入:nums = [1,2,3], k = 3
输出:2

前缀和
在这里插入图片描述

1.2如何使用

前缀和的主要用处:求任意区间的区间和
在这里插入图片描述
代码

    def subArraySum(self,nums,k):count,n=0,len(nums)pre=[0]*(n+1)for i in range(1,n+1):pre[i]=pre[i-1]+nums[i-1]for i in range(1,n+1):for j in range(i,n+1):if (pre[j]-pre[i-1]==k):count+=1return count

1.2买卖股票的最佳时机

给定一个数组 p r i c e s prices prices ,它的第 i i i个元素 p r i c e s [ i ] prices[i] prices[i] 表示一支给定股票第 i i i 天的价格。你只能选择某一天 买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0

输入:[7,1,5,3,6,4]
输出:5
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票

代码

    def maxProfit(self,prices):inf=int(1e9)minprice=infmaxprofit=0for p in prices:maxprofit=max(p-minprice,maxprofit)minprice=min(p,minprice)return maxprofit

参考知乎
参考博客

http://www.lryc.cn/news/276472.html

相关文章:

  • C语言入门教程,C语言学习教程(第一部分:编程基础 )一
  • uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -用户信息修改实现
  • C语言PDF编程书籍下载
  • VScode/Xshell连接学校服务器
  • 46 WAF绕过-信息收集之反爬虫延时代理池技术
  • [Markdown] Markdown常用快捷键分类汇总
  • uniapp自定义封装只有时分秒的组件,时分秒范围选择
  • SpringBoot 中 @Transactional 注解的使用
  • 【还不了解 Dockerfile 的同学不是好测试人】
  • 新手一键重装系统Win10步骤教程
  • Ceph源码分析-在C++中,符号““和“*“有不同的用法。
  • Azure AI 内容安全Content Safety Studio实战
  • 计算机网络学习笔记(四)
  • typora导出html添加目录
  • vue3 封装一个按钮组件(可自定义按钮样式)
  • Docker 中使用超级用户
  • git打tag以及拉取tag
  • TS 36.212 V12.0.0-信道编码、复用和交织(1)-通用过程
  • 纯前端上传word,xlsx,ppt,在前端预览并下载成图片(预览效果可以,下载图片效果不太理想)
  • WPS Office找回丢失的工作文件
  • 【MATLAB源码-第106期】基于matlab的SAR雷达系统仿真,实现雷达目标跟踪功能,使用卡尔曼滤波算法。
  • 【机器学习】scikit-learn机器学习中随机数种子的应用与重现
  • 欧洲编程语言四巨头
  • 检查密码(字符串)
  • Pointnet++改进注意力机制系列:全网首发LSKAttention大核卷积注意力机制 |即插即用,实现有效涨点
  • C++常用库函数大小写转换
  • 基于springboot+html的汽车销售管理系统设计与实现
  • pyside6 界面美化库的使用
  • 通过Docker搭建4节点的Tendermint集群
  • element plus 表格组件怎样在表格中显示图片