秋招打卡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 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...