秋招打卡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 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
