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

LeetCode 1633, 122, 239

目录

  • 1633. 各赛事的用户注册率
    • 题目链接
    • 要求
    • 知识点
    • 思路
    • 代码
  • 122. 买卖股票的最佳时机 II
    • 题目链接
    • 标签
    • 思路
    • 代码
  • 239. 滑动窗口最大值
    • 题目链接
    • 标签
    • 思路
    • 代码

1633. 各赛事的用户注册率

题目链接

1633. 各赛事的用户注册率

  • Users有字段user_iduser_name
  • Register有字段contest_iduser_id

要求

  • 编写解决方案统计出各赛事的用户注册百分率,保留两位小数
  • 返回的结果表按 percentage 的 降序 排序,若相同则按 contest_id升序 排序。

知识点

  1. rount():四舍五入函数。
  2. count():统计个数函数。
  3. 多表查询:from后跟多张表,然后使用where限制笛卡尔积的部分数据(多表查询的结果是两张表排列组合的结果,这个结果被称为笛卡尔积)。
  4. 子表查询:子表查询就是将从表查询到的结果作为另一个表放在from后边。
  5. order by + desc/asc:排序,比如order by num表示按num进行(默认)升序排序,效果等价于order by num ascorder by num desc表示按num进行降序排序。

思路

要求各赛事的用户注册百分率,首先要求出参加各赛事的用户数用户的总数(求用户的总数可以键一张子表),然后用前者除以后者就可以得出各赛事的用户注册百分率,但要注意的是求出来的百分率要乘100;然后再根据题目中的两个条件进行排序。

代码

selectcontest_id,round(count(*) * 100 / cnt.num, 2) percentage
fromUsers s,Register r,(selectcount(*) numfromUsers) cnt
wheres.user_id = r.user_id
group bycontest_id
order bypercentage desc,contest_id

122. 买卖股票的最佳时机 II

题目链接

122. 买卖股票的最佳时机 II

标签

贪心 数组 动态规划

思路

本题的股票可以随时卖和买,所以不需要计划的很长远,只要一天的价格比前一天的高,就在前一天买,然后在这天卖,使用了一种贪心的思想:只顾当前(局部)的最优解,局部最优解的总和就是全局最优解。

代码

class Solution {public int maxProfit(int[] prices) {int i = 1, res = 0;while (i < prices.length) {int profit = prices[i] - prices[i - 1];if (profit > 0) {res += profit;}i++;}return res;}
}

239. 滑动窗口最大值

题目链接

239. 滑动窗口最大值

标签

队列 数组 滑动窗口 单调队列 堆(优先队列)

思路

本题建议使用优先队列来解答,优先队列指的是插入队列的所有元素都有一个优先级,按照优先级的大小进行排序,优先级越大(或越小),越靠近队列头部(或尾部),其中,优先级可以是数字的大小,也可以是字符串的长度等可以量化的数量。
优先队列的实现也很简单,在这个类中内置一个双端队列,从头部执行获取删除的操作,从尾部执行添加的操作,每次添加时从尾部向前扫描,直到扫描到优先级比待添加元素的优先级高的元素,将这些优先级低于待添加元素优先级的元素从队列中删除。
了解优先队列的实现后,就可以开始做题了。把滑动窗口想象成一个优先队列,每次滑动时都往队列中添加一个值,按理来说也应该从队列中删除一个值,但其实不然,在这个优先队列中只有最大值会被使用到,所以只要那个该删除的值不是最大值,就不需要删除它。

代码

class Solution {public int[] maxSlidingWindow(int[] nums, int k) {int index = 0;int[] res = new int[nums.length - k + 1];PriorityQueue queue = new PriorityQueue();for (int i = 0; i < nums.length; i++) {// 队列中已经有k个元素了,并且该队列的最大值还等于窗口前面的元素,对于这种队列,取出这个最大值if (i >= k && nums[i - k] == queue.peek()) {queue.poll();}queue.offer(nums[i]);// 从第k - 1个数开始if (i >= (k - 1)) {res[index++] = queue.peek();}}return res;}private static class PriorityQueue {LinkedList<Integer> deque = new LinkedList<>();int peek() {return deque.peekFirst();}void poll() {deque.pollFirst();}void offer(int n) {while (!deque.isEmpty() && deque.peekLast() < n) {deque.pollLast();}deque.offerLast(n);}}
}

相关文章:

LeetCode 1633, 122, 239

目录 1633. 各赛事的用户注册率题目链接表要求知识点思路代码 122. 买卖股票的最佳时机 II题目链接标签思路代码 239. 滑动窗口最大值题目链接标签思路代码 1633. 各赛事的用户注册率 题目链接 1633. 各赛事的用户注册率 表 表Users有字段user_id和user_name。表Register有…...

(十五)统计学基础练习题九(选择题T401-450)

本文整理了统计学基础知识相关的练习题&#xff0c;共50道&#xff0c;适用于想巩固统计学基础或备考的同学。来源&#xff1a;如荷学数据科学题库&#xff08;技术专项-统计学三&#xff09;。序号之前的题请看往期文章。 401&#xff09; 402&#xff09; 403&#xff09; 4…...

用大白话讲解下 CNN和卷积核( 百度 AI 回答 )

CNN&#xff08;卷积神经网络&#xff09;和卷积核在图像处理中扮演着非常重要的角色。咱们来用大白话解释一下它们。 首先说CNN&#xff0c;它就像是一个聪明的机器&#xff0c;专门用来识别图片里的东西。CNN里面有很多层&#xff0c;每一层都有很多小单元&#xff0c;这些小…...

安全生产新篇章:可燃气体报警器检验周期的国家标准解读

随着工业化进程的加快&#xff0c;安全生产成为了重中之重。 可燃气体报警器作为预防火灾和爆炸事故的重要设备&#xff0c;其准确性和可靠性直接关系到企业的生产安全和员工的生命财产安全。 因此&#xff0c;国家对可燃气体报警器的检验周期有着明确的规定&#xff0c;以确…...

github搭建个人博客

准备工作 windows安装nodejs windows安装git windows安装hexo 拥有gitee个人账户 配置信息 通过gitee创建博客仓库 登录gitee平台&#xff0c;进入主界面&#xff0c;右侧加号&#xff0c;新建仓库&#xff0c;注意&#xff1a;仓库名称和gitee用户名称一致 生成/添加 SSH 公…...

Linux系统之mv命令的基本使用

Linux系统之mv命令的基本使用 一、mv命令介绍1. mv命令简介2. mv命令的使用结果 二、mv命令的使用帮助1. 在命令行的帮助信息2. mv常用选项 三、mv命令的基本使用1. 创建源目录和目标目录2. 新建测试文件3. 将源目录文件复制到目标目录4. 将文件进行改名5. 将目录的所有文件转移…...

vscode 好用的插件

转中文插件 Chinese 官网&#xff1a;Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code - Visual Studio Marketplace vue文件模板快速生成 Vue VSCode Snippets 官网&#xff1a;Vue VSCode 代码段 - Visual Studio Marketplace...

什么是蓝牙定位车载GPS终端

蓝牙定位车载GPS终端是一种集成了蓝牙技术和GPS定位功能的车载设备。这种终端不仅可以通过GPS卫星信号进行室外定位&#xff0c;还能利用蓝牙技术在室内环境中进行定位&#xff0c;实现室内外一体化的定位服务。以下是一些关于蓝牙定位车载GPS终端的关键特点和功能&#xff1a;…...

指纹采集技术

目录 1.概述 1.1 捺印油墨采集 1.2 现场指纹提取 1.3 在线指纹采集 2. 指纹采集器的关键技术指标 2.1 采集面积 2.2 分辨率 2.3 图像质量 2.4 耐用性 1.概述 最早的指纹采集技术是油墨法&#xff0c;至少已经有上百年的历史。1990年代出现了活体指纹采集器&#xff0c…...

/etc/fstab、/etc/mtab 文件详解及永久挂载(文件系统、ISO镜像、文件网络共享)

/etc/mtab /etc/mtab 是当前的分区挂载情况&#xff0c;记录的是当前系统已挂载的分区。每次挂载/卸载分区时会更新 /etc/mtab 文件中的信息&#xff08;执行 mount 命令会改变 /etc/mtab 的信息&#xff09;。 文件样例 /etc/fstab 系统开机时会主动读取 /etc/fstab 这个文…...

【Linux】进程(5):命令行参数

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解Linux进程&#xff08;5&#xff09;&#xff1a;命令行参数&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 &#xff08;A&#xff09;为什么要有命令…...

vue2+antv/x6实现er图

效果图 安装依赖 npm install antv/x6 --save 我目前的项目安装的版本是antv/x6 2.18.1 人狠话不多&#xff0c;直接上代码 <template><div class"er-graph-container"><!-- 画布容器 --><div ref"graphContainerRef" id"gr…...

如何在XDMA中查看LTSSM状态机

简介 经常会遇到PCIe不能识别的问题&#xff0c;到底怎么去定位。本文以XDMA 为例&#xff0c;一方面复习下LTSSM状态机&#xff0c;一方面描述下如何通过FPGA的XDMA查看这个状态机 技术名词 LTSSM是一种常用于PCI Express&#xff08;PCIe&#xff09;接口的状态机&#xf…...

编译和运行qemu-uboot-arm64单板的Armbian系统

这篇文章ARM虚拟机安装OMV-CSDN博客遗留一个启动qemu-uboot-arm64单板Armbian镜像的问题&#xff0c;使用官方下载的镜像&#xff0c;会报错&#xff1a; fatal: no kernel available .... Failed to load /vmlinuz ...... qemu-system-aarch64 -smp 8 -m 8G -machine virt …...

Python版《消消乐》,附源码

曾经风靡一时的消消乐&#xff0c;至今坐在地铁上都可以看到很多人依然在玩&#xff0c;想当年我也是大军中的一员&#xff0c;那家伙&#xff0c;吃饭都在玩&#xff0c;进入到高级的那种胜利感还是很爽的&#xff0c;连续消&#xff0c;无限消&#xff0c;哈哈&#xff0c;现…...

Kubernetes ingress

目录 一.ingress 1.ingress简介 2.实现外部应用能访问内部集群服务的方法 &#xff08;1&#xff09;NodePort&#xff1a; &#xff08;2&#xff09;LoadBalancer&#xff1a; &#xff08;3&#xff09;externalIPs&#xff1a; &#xff08;4&#xff09;ingress&am…...

【JavaScript】ECMAS6(ES6)新特性概览(二):解构赋值、扩展与收集、class类全面解析

🔥 个人主页:空白诗 🔥 热门专栏:【JavaScript】 文章目录 🌿 引言五、 Destructuring Assignment - 解构赋值,数据提取的艺术 🎨📌 数组解构📌 对象解构&...

Linux入门学习指南

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

纯血鸿蒙实战开发—如何添加顶部tab页面

1.Tabs组件 Tabs组件的页面组成包含两个部分&#xff0c;分别是TabContent和TabBar。TabContent是内容页&#xff0c;TabBar是导航页签栏. 根据不同的导航类型&#xff0c;布局会有区别&#xff0c;可以分为底部导航、顶部导航、侧边导航&#xff0c;其导航栏分别位于底部、顶…...

数仓建模—指标拆解和选取

数仓建模—指标拆解和选取 第一节指标体系初识介绍了什么是指标体系 第二节指标体系分类分级和评价管理介绍了指标体系管理相关的,也就是指标体系的分级分类 这一节我们看一下指标体系的拆解和指标选取,这里我们先说指标选取,其实在整个企业的数字化建设过程中我们其实最…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; 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 解决方案&…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...