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

【代码随想录】算法训练计划13

1、347. 前 K 个高频元素

题目:
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。
输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]

思路:
  • sort.Slice学习一下,其实还有sort.String等
func topKFrequent(nums []int, k int) []int {// 代码一刷,快排,或者小/大顶堆map1 := make(map[int]int, 0)for _,v := range nums {map1[v]++}ans := []int{}for k,_ := range map1 {ans = append(ans, k)}sort.Slice(ans, func(a,b int)bool{return map1[ans[a]]>map1[ans[b]]})return ans[:k]
}

2、239. 滑动窗口最大值

题目:
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回 滑动窗口中的最大值 。

思路:
  • 1、为什么pop时候要:val == m.Front()
  • 2、queue.Push(nums[i]) // 5432咋办
func maxSlidingWindow(nums []int, k int) []int {queue := NewMyQueue()length := len(nums)res := make([]int, 0)for i:=0; i<k; i++ {queue.Push(nums[i]) // 5432咋办}res = append(res, queue.Front())for i := k; i<length; i++ {queue.Pop(nums[i-k])queue.Push(nums[i])res = append(res, queue.Front())}return res
}
// 单调队列
type MyQueue struct {queue []int}
func NewMyQueue() *MyQueue {return &MyQueue{queue: make([]int, 0),}
}
func (m *MyQueue) Front() int {return m.queue[0]}
func (m *MyQueue) Back() int {return m.queue[len(m.queue)-1]}
func (m *MyQueue) Empty() bool {return len(m.queue)==0}
func (m *MyQueue) Push(val int) {for !m.Empty() && val>m.Back() {m.queue = m.queue[:len(m.queue)-1]}m.queue = append(m.queue, val)
}
func (m *MyQueue) Pop(val int) {if !m.Empty() && val == m.Front() {m.queue = m.queue[1:]}
}

相关文章:

【代码随想录】算法训练计划13

1、347. 前 K 个高频元素 题目&#xff1a; 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 思路&#xff1a; sort.Slice学习一下&#xff0c;其实还有so…...

Python图像处理之OpenCV模块

Python图像处理 1、OpenCV模块简介2、OpenCV模块图像常用操作3、PIL与OpenCV图像格式转换4、图像识别应用案例4.1、人脸识别4.2、车牌识别4.3、文本识别1、OpenCV模块简介 OpenCV(Open Source Computer Vision Library)是一个基于BSD许可(开源)发行的跨平台计算机视觉库,主…...

动态规划-丑数

** 描述 把只包含质因子2、3和5的数称作丑数&#xff08;Ugly Number&#xff09;。例如6、8都是丑数&#xff0c;但14不是&#xff0c;因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第 n个丑数。 数据范围&#xff1a; 0≤n≤2000 要求&#x…...

【MogDB/openGauss的三种函数稳定性关键字】

一、ORACLE中的类似的函数稳定性关键字&#xff08;DETERMINISTIC&#xff09; 在ORACLE里&#xff0c;function有着一个DETERMINISTIC参数&#xff0c;它表示一个函数在输入不变的情况下输出是否确定&#xff0c;只要输入的参数一样&#xff0c;返回的结果一定一样的&#xf…...

java-对Integer.MAX_VALUE做加法

public static void main(String[] args) {int maxValue Integer.MAX_VALUE;System.out.println("maxValue1 " (maxValue1));System.out.println("maxValue2 " (maxValue2));System.out.println("maxValue3 " (maxValue3));}//结果 maxVa…...

【学习笔记】[COCI2018-2019#1] Teoretičar

首先&#xff0c;可以发现 C C C等于所有点度数的最大值&#xff0c;我们能用到的颜色数目为 2 x ≥ C 2^x\ge C 2x≥C。 考虑分治&#xff0c;将边集划分为 E E 1 E 2 EE_1E_2 EE1​E2​&#xff0c;使得 E 1 , E 2 E_1,E_2 E1​,E2​中点度数的最大值都不超过 2 x − 1 2^…...

64位Office API声明语句第112讲

跟我学VBA&#xff0c;我这里专注VBA, 授人以渔。我98年开始&#xff0c;从源码接触VBA已经20余年了&#xff0c;随着年龄的增长&#xff0c;越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友&#xff0c;都来学习VBA,利用VBA,起码可以提高…...

C++ day3作业

1> 思维导图 2> 自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void s…...

蓝桥杯官网填空题(方格计数)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 如下图所示&#xff0c;在二维平面上有无数个 11 的小方格。 我们以某个小方格的一个顶点为圆心画一个半径为 50000 的圆。 你能计算出这个圆里有多少个完整的小方…...

【系统架构设计】计算机公共基础知识: 6 知识产权与标准化

一 知识产权 1 保护对象和范围 法律法规名称保护对象及范围注意事项著作权法著作权 文学、绘画、摄影等作品 不需要申请,作品完成就开始保护。 绘画或摄影作品原件出售(赠予)著作权归还原作者,原件拥有者有所有权和展览权。 软件著作权法 计算机软件保护条例 软件著作权 软…...

【新】致远OA从前台XXE到RCE漏洞分析

0x01 前言 致远OA是目前国内最流行的OA系统之一&#xff0c;前几年也曾爆出过多个安全漏洞。致远官方一直对修复漏洞的态度十分积极&#xff0c;目前能有效利用的致远漏洞已经很少了。 和我们之前分享过的通达OA的漏洞类似&#xff0c;这类主流OA系统现在想要直接一步达到RCE的…...

宠物领养系统jsp+servlet+mysql

设计不同用户的操作权限、注册和登录方法。 管理员可以在管理员管理、用户管理、宠物管理、评论管理、团队活动管理、志愿者的申请等等模块中进行查询、添加、删除、修改。 管理员可以在领养管理中通过领养时间查询所有宠物被领养的信息&#xff0c;修改是否同意领养宠物&#…...

MySQL 数据库安全性练习题

数据库安全性 一、实验目的 &#xff08;1&#xff09;熟悉通过MySQL对数据进行安全性控制 二、实验环境 Windows 11 MySQL Navicat 三、实验内容 今有以下两个关系模式&#xff1a; 职工&#xff08;职工号&#xff0c;姓名&#xff0c;年龄&#xff0c;职务&#xff0c;工…...

如何使用Node.js快速创建HTTP服务器并实现公网访问本地Server

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…...

zigbee路灯无线通讯机制

zigbee路灯无线通讯机制 wang20160630 前言 目前路灯上通讯主要有电力载波和无线通讯&#xff1b;各有利弊&#xff0c;众说纷纭&#xff1b;本文不对两种技术进行比较&#xff0c;也不讨论哪种好&#xff0c;毕竟同种通讯模块&#xff0c;有的开发出来稳定&#xff0c;有的…...

asp.net docker-compose添加kafka和redis和zookeeper

docker-compose.yml添加 redis:image: redis:alpinekafka:image: "bitnami/kafka:3.1.1"depends_on:- zookeeperzookeeper:image: "bitnami/zookeeper:3.5.10" docker-compose.override.yml添加 redis:ports:- "6379"kafka:links: - zookeepere…...

2024上海国际人工智能展(CSITF)“创新驱动发展·科技引领未来”

人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;作为当今世界科技发展的关键领域之一&#xff0c;正不断推动着各行各业的创新和变革。作为世界上最大的消费市场之一&#xff0c;中国正在积极努力将AI技术与产业融合并加速推广应用。在这个背景下&…...

汽车标定技术(三)--XCP协议如何支持测量功能

目录 1. 概述 2. 测量方式 -- Poll 3. 测量方式 -- DAQ 3.1 ODT概念模型 3.2 DAQ List概念 3.3 ODT 绝对编号和相对编号 3.4 静态DAQ和动态DAQ模式 &#xff08;1&#xff09;静态DAQ &#xff08;2&#xff09;动态DAQ 4.小结 1. 概述 在该系列的首篇文章汽车标定技…...

[c++]你最喜爱的stringstream和snprintf性能深入剖析

最近写一个程序中两个差不多的模块&#xff0c;一个使用了snprintf输出中间数据&#xff0c;另一个偷懒使用stringstream。结果你猜怎么着&#xff1f;居然压帧了&#xff01;&#xff01;到底是谁拖了性能的后退&#xff1f; 来自阿里云的性能分析实验 我上网一搜&#xff0…...

windows 用vs创建cmake工程并编译opencv应用项目生成exe流程简述

目录 前言一、安装opencv&#xff08;1&#xff09;下载&#xff08;2&#xff09;双击安装&#xff08;3&#xff09;环境变量和system文件夹设置 二、打开vs创建项目三、编辑cpp&#xff0c;.h&#xff0c;cmakelist.txt文件&#xff08;1&#xff09;h文件&#xff08;2&…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...