秋招打卡015(20230811)
文章目录
- 前言
- 一、今天学习了什么?
- 二、动态规划之股票问题
- 1、总结
- 2、题目
- 三、SQL
- 总结
前言
提示:这里为每天自己的学习内容心情总结;
Learn By Doing,Now or Never,Writing is organized thinking.
提示:以下是本篇文章正文内容
一、今天学习了什么?
- 股票问题;
- SQL语句的编写;
二、动态规划之股票问题
1、总结
我感觉这个问题有点难,但是有规律可循,基本上都是采用二维数组去解决的。
dp[i][j],表示第i天时,我对股票的操作状态为j时,最大利润值。
如果是涉及到对股票的操作次数有限制,那么j就是代表第几次的操作次数。
2、题目
- 121. 买卖股票的最佳时机(⭐⭐⭐⭐⭐)
public int maxProfit(int[] prices) {/*** 买卖股票的最佳时机,只能操作一次,买and卖* dp[i][0] 表示第i天持有股票所得最多现金* dp[i][1] 表示第i天不持有股票所得最多现金*/int length = prices.length;int[][] dp = new int[length][2];dp[0][0] = -prices[0];for (int i = 1; i < length; i++) {dp[i][0] = Math.max(dp[i - 1][0], -prices[i]);dp[i][1] = Math.max(dp[i - 1][1], dp[i-1][0] + prices[i]);}return dp[length - 1][1];}
- 122. 买卖股票的最佳时机 II
public int maxProfit(int[] prices) {/*** dp【i】【0】第i天不持有股票时能获得的最大利润* dp[i][1],第i天持有股票时能获得的最大利润*/int length = prices.length;int[][] dp = new int[length][2];dp[0][1] = -prices[0];for (int i = 1; i < length; i++) {// 不持有股票有两种可能性// 1、之前也不持有// 2、之前持有但是今天我卖了dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1] + prices[i]);dp[i][1] = Math.max(dp[i - 1][1], dp[i - 1][0] - prices[i]);}return Math.max(dp[length - 1][0], dp[length - 1][1]);}
- 123. 买卖股票的最佳时机 III(⭐⭐⭐⭐⭐)
public int maxProfit(int[] prices) {/*** 最多只能完成两笔交易,要想再次购入股票之前,必须将持有的股票卖出后才能买入新的股票* 那么一天只能对应五种情况:* dp【i】【0】:第i天一次都没有操作股票* dp【i】【1】:第i天第一次买入股票* dp【i】【2】:第i天第一次卖出股票* dp【i】【3】:第i天第二次买入股票* dp【i】【4】:第i天第二次卖出股票*/int[][] dp = new int[prices.length][5];dp[0][1] = -prices[0];dp[0][3] = -prices[0];// 重点for (int i = 1; i < prices.length; i++) {for (int j = 0; j < 5; j++) {// 第一次买入股票,有两种可能性:// 1、昨天就是第一次买入了// 2、今天才是第一次买入dp[i][1] = Math.max(dp[i - 1][1], dp[i - 1][0] - prices[i]);// 第一次将股票卖出,有两种可能性:// 1、之前就已经发生过了// 2、今天才发生的dp[i][2] = Math.max(dp[i - 1][2], dp[i - 1][1] + prices[i]);// 第二次买入股票 ,有两种可能性:// 1、之前就买入了// 2、今天才买入dp[i][3] = Math.max(dp[i - 1][3], dp[i - 1][2] - prices[i]);// 第二次卖出股票 ,有两种可能性:// 1、之前就卖出// 2、今天才卖出dp[i][4] = Math.max(dp[i - 1][4], dp[i - 1][3] + prices[i]);}}return dp[prices.length - 1][4];}
- 188. 买卖股票的最佳时机 IV(⭐⭐⭐⭐⭐)
public int maxProfit(int k, int[] prices) {/*** 最多能对股票进行k次操作,买股票之前必须卖出股票* dp[i][j],第i天状态为j时的最大利润*/int[][] dp = new int[prices.length][2 * k + 1];for (int i = 1; i <= k; i++) {dp[0][2 * i - 1] = -prices[0];}for (int i = 1; i < prices.length; i++) {for (int j = 1; j <= 2 * k; j++) {// j为奇数就是买入if (j % 2 != 0) {dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - 1] - prices[i]);} else {// j为偶数就是卖出dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - 1] + prices[i]);}}}return dp[prices.length - 1][2 * k];}
- 309. 买卖股票的最佳时机含冷冻期(⭐⭐⭐⭐⭐)
public int maxProfit(int[] prices) {if (prices.length < 2) {return 0;}/*** 需要包含冷静期,冷静期是一天* dp[i][j],代表第i天的状态为j时的最大利润* dp[i][0],代表第i天 不持有 股票的最大利润* dp[i][1],代表第i天 持有 股票的最大利润*/int[][] dp = new int[prices.length][2];dp[0][0] = 0;dp[0][1] = -prices[0];dp[1][0] = Math.max(dp[0][0], dp[0][1] + prices[1]);dp[1][1] = Math.max(dp[0][1], dp[0][0] - prices[1]);for (int i = 2; i < prices.length; i++) {// 不持有的话,以前就不持有 or 之前持有但是今天卖了()dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1] + prices[i]);// 持有的话,之前就持有,今天买的(此时就需要考虑冷静期)dp[i][1] = Math.max(dp[i - 1][1], dp[i - 2][0] - prices[i]);}return dp[prices.length - 1][0];}
- 714. 买卖股票的最佳时机含手续费
public int maxProfit(int[] prices, int fee) {/*** 只有卖出股票的时候,我才去支付手续费,代表操作股票成功* dp[i][j],代表第i天的状态为j时的最大利润* dp[i][0],代表第i天 不持有 股票的最大利润* dp[i][1],代表第i天 持有 股票的最大利润*/int[][] dp = new int[prices.length][2];dp[0][1] = -prices[0];for (int i = 1; i < prices.length; i++) {dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1] + prices[i] - fee);dp[i][1] = Math.max(dp[i - 1][1], dp[i - 1][0] - prices[i]);}return dp[dp.length - 1][0];}
三、SQL
牛客网的 SQL大厂面试真题 ,有七个部分的内容:
SELECT a.video_id , ROUND(AVG(IF(TIMESTAMPDIFF(second, start_time, end_time) >= b.duration, 1, 0)),3) avg_comp_play_rate
FROM tb_user_video_log a
LEFT JOIN tb_video_info b
ON a.video_id = b.video_id
WHERE YEAR(start_time) = 2021
GROUP BY a.video_id
ORDER BY avg_comp_play_rate desc;
总结
提示:这里对文章进行总结:
SQL语句还蛮难写的,有点儿难哟
相关文章:
秋招打卡015(20230811)
文章目录 前言一、今天学习了什么?二、动态规划之股票问题1、总结2、题目 三、SQL总结 前言 提示:这里为每天自己的学习内容心情总结; Learn By Doing,Now or Never,Writing is organized thinking. 提示:…...
如何使用Word转PDF转换器在线工具?在线Word转PDF使用方法
Word转PDF转换器在线,是一种方便快捷的工具,可帮助您在不需要下载任何软件的情况下完成此任务。无论您是需要在工作中共享文档,还是将文件以PDF格式保存以确保格式不变,都可以依靠这款在线工具轻松完成转换。那么如何使用Word转PD…...
自然语言处理从入门到应用——LangChain:记忆(Memory)-[记忆的类型Ⅰ]
分类目录:《自然语言处理从入门到应用》总目录 会话缓存记忆ConversationBufferMemory 本节将介绍如何使用对话缓存记忆ConversationBufferMemory。这种记忆方式允许存储消息,并将消息提取到一个变量中,我们首先将其提取为字符串:…...
Camunda 7.x 系列【7】Spring Boot 集成 Camunda 7.19
有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 前言2. Camunda Platform Run3. Spring Boot 版本兼容性4. 集成 Spring Boot5. 启动项目…...
24华东交通软件工程837考研题库
1.Jackson设计方法是由英国的M.Jackson所提出的。它是一种面向( )的软件设 计方法。 A.对象 B.数据流 C.数据结构 D.控制结构 答案:C 2.软件设计中,Jackson方法是一种面向…...
nginx 以及nginx优化
目录 nginx功能介绍 静态文件服务 反向代理 动态内容处理 SSL/TLS 加密支持 虚拟主机支持 URL 重写和重定向 缓存机制 日志记录 可扩展性和灵活性 nginx的主要应用场景 nginx常用命令 nginx另外一种安装方式 nginx常用的信号符: nginx配置文件详解 n…...
cesium学习记录04-坐标系
一、地理坐标系和投影坐标系的关系 地理坐标系 (Geographic Coordinate System, GCS) 定义:地理坐标系是一个基于三维地球表面的坐标系统。它使用经度和纬度来表示地点的位置。 特点: 使用经纬度来定义位置。 基于特定的地球参考椭球体。 适用于全球范…...
P5737 【深基7.例3】闰年展示
题目描述 输入 x , y x,y x,y,输出 [ x , y ] [x,y] [x,y] 区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。 输入格式 输入两个正整数 x , y x,y x,y,以空格隔开。 输出格式 第一行输出一个正整数…...
Nacos的安装使用教程Linux
在 Linux 操作系统上安装和使用 Nacos 与 Windows 类似,以下是详细的步骤教程。我们将使用 Nacos 的 Standalone 模式进行安装和使用。请注意,对于生产环境,建议使用集群模式来实现高可用性和可扩展性。 步骤 1:准备环境 Java 安…...
数据结构-学习
参考: 数据结构-学习笔记_蓝净云_蓝净云的博客-CSDN博客...
【MFC】05.MFC六大机制:程序启动机制-笔记
MFC程序开发所谓是非常简单,但是对于我们逆向人员来说,如果想要逆向MFC程序,那么我们就必须了解它背后的机制,这样我们才能够清晰地逆向出MFC程序,今天这篇文章就来带领大家了解MFC的第一大机制:程序启动机…...
Von Maur, Inc EDI 需求分析
Von Maur, Inc 是一家历史悠久的卖场,成立于19世纪,总部位于美国。作为一家知名的零售商,Von Maur 主要经营高端时装、家居用品和美妆产品。其使命是为顾客提供优质的产品和无与伦比的购物体验。多年来,Von Maur 凭借其卓越的服务…...
[深度学习入门]PyTorch深度学习[Numpy基础](上)
目录 一、前言二、Numpy概述三、生成Numpy数组3.1 从已有数据中创建数组3.2 利用random模块生成数组3.3 创建特定形状的多维数组3.4 利用arange和linspace函数生成数组 四、获取元素五、Numpy的算术运算5.1 对应元素相乘5.2 点积运算 六、后记 本文的目标受众: 对机…...
Excel vost 实现照光灯效果
如果你想要在 VSTO(Visual Studio Tools for Office)中实现在 Excel 中添加“照光灯”效果,你需要创建一个 VSTO 插件来实现这个功能。照光灯效果通常是指通过将非活动行或列进行高亮显示,以便更清楚地查看某一行或列的内容。以下…...
IntelliJ中文乱码问题
1、控制台乱码 运行时控制台输出的中文为乱码,解决方法:帮助 > 编辑自定义虚拟机选项… > 此时会自动创建出一个新文件,输入:-Dfile.encodingUTF-8,然后重启IDE即可,操作截图如下: 2、…...
【C++】红黑树模拟实现插入功能(包含旋转和变色)
红黑树模拟实现并封装为map和set 前言正式开始红黑树概念红黑树基本要求大致框架树节点树 调整红黑树使其平衡第一种:cur红,p红,g黑,u存在且为红第二种:cur红,p红,g黑,u不存在或为黑…...
Pads输出器件坐标文件时,如何更改器件坐标精度
相信对于用pads软件的工程师么,在完成PCB设计的时候都需要输出生产文件给板厂和贴片厂,今天我们需要给大家介绍的是如何在在pads软件上面输出器件坐标文件以及如何更改器件坐标文件的精度。 首先我们需要点击工具-基本脚本-基本脚本接下来会跳到下面这个…...
Vuejs3父组传值给子组件
父组件代码 <script setup> import TextProps from ./components/TextProps.vue; import { reactive } from vue;const queryobj reactive({"a":1, "b":1}); const aryobj reactive([1,2,3]);</script><template><div class"…...
竞赛项目 深度学习的智能中文对话问答机器人
文章目录 0 简介1 项目架构2 项目的主要过程2.1 数据清洗、预处理2.2 分桶2.3 训练 3 项目的整体结构4 重要的API4.1 LSTM cells部分:4.2 损失函数:4.3 搭建seq2seq框架:4.4 测试部分:4.5 评价NLP测试效果:4.6 梯度截断…...
【剑指 の 精选】热门状态机 DP 运用题
题目描述 这是 LeetCode 上的 「剑指 Offer II 091. 粉刷房子」 ,难度为 「中等」。 Tag : 「状态机 DP」、「动态规划」 假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
