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

复试 || 就业day01(2023.12.27)算法篇

文章目录

  • 前言
  • 两数之和
  • 存在重复元素 II
  • 好数对的数目
  • 总持续时间可被 60 整除的歌曲

前言

💫你好,我是辰chen,本文旨在准备考研复试或就业
💫文章题目大多来自于 leetcode,当然也可能来自洛谷或其他刷题平台
💫欢迎大家的关注,我的博客主要关注于考研408以及AIoT的内容
🌟 仅给出C++版代码

以下的几个专栏是本人比较满意的专栏(大部分专栏仍在持续更新),欢迎大家的关注:

💥ACM-ICPC算法汇总【基础篇】
💥ACM-ICPC算法汇总【提高篇】
💥AIoT(人工智能+物联网)
💥考研
💥CSP认证考试历年题解

两数之和


题目链接:两数之和

C++版AC代码:

暴力:时间复杂度 O ( n 2 ) O(n^2) O(n2),空间复杂度 O ( 1 ) O(1) O(1)

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {int n = nums.size();for (int i = 0; i < n; i ++ )for (int j = i + 1; j < n; j ++ ){if (nums[i] + nums[j] == target){return {i, j};}}return {};}
};

哈希:时间复杂度 O ( n ) O(n) O(n)find 的时间复杂度为 O ( 1 ) O(1) O(1)】,空间复杂度 O ( n ) O(n) O(n)【建立了一个空哈希表】

注意因为 find 查的是 first 所以我们在插入的时候,first = nums[i]second = i

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {int n = nums.size();unordered_map<int, int> m;for (int i = 0; i < n; i ++ ) {auto it = m.find(target - nums[i]);if (it != m. end()){return {it -> second, i};}m[nums[i]] = i;}return {};}
};

存在重复元素 II


题目链接:存在重复元素 II

C++版AC代码:

同样是使用哈希表,这里需要注意,哈希的插入是直接使用 m[nums[i]] = i; 不可以使用 m.insert(make_pair(nums[i], i)),因为nums中是会有相同的值重复出现的,我们只需要保存距离最近的一个点就可以了,但是 insert 操作只会保存第一个存入的键值对,后续相同的键值不会更新

class Solution {
public:bool containsNearbyDuplicate(vector<int>& nums, int k) {unordered_map<int, int> m;for (int i = 0; i < nums.size(); i ++ ) {auto it = m.find(nums[i]);if (it != m.end() && abs(m[nums[i]] - i) <= k) return true;m[nums[i]] = i;}return false;}
};                                                                                              

好数对的数目


题目链接:好数对的数目

C++版AC代码:

桶的思想

class Solution {
public:int numIdenticalPairs(vector<int>& nums) {int cnt = 0;int t[110] = {0};for (int i = 0; i < nums.size(); i ++ ){cnt += t[nums[i]];t[nums[i]] ++;}return cnt;}
};

C++版AC代码:

哈希也可,本质无区别

class Solution {
public:int numIdenticalPairs(vector<int>& nums) {int cnt = 0;unordered_map<int, int> m;for (int i = 0; i < nums.size(); i ++ ){cnt += m[nums[i]];m[nums[i]] ++;}return cnt;}
};

总持续时间可被 60 整除的歌曲


题目链接:总持续时间可被 60 整除的歌曲

C++版AC代码:

哈希维护出现的次数,依次枚举可能的解,因为元素的大小为 [1, 500],故 j 的上限为 1000,每次 +60

class Solution {
public:int numPairsDivisibleBy60(vector<int>& time) {unordered_map<int, int> m;int cnt = 0;for (int i = 0; i < time.size(); i ++ ){for (int j = 60; j < 1000; j += 60 ){int tmp = j - time[i];auto it = m.find(tmp);if (it != m.end()) cnt += m[tmp];}m[time[i]] ++;}return cnt;}
};

C++版AC代码:

其实是没必要进行枚举的,开一个大小为 60 的数组,找可以被 60 整除的另一个数实际上就是在找 60 - time[i] % 60,特别的对于自身就可以被 60 整除的数,需要将其映射回 0,故对于每一个 time[i],去找 (60 - time[i] % 60) % 60

class Solution {
public:int numPairsDivisibleBy60(vector<int>& time) {int cnt = 0;int nums[65] = {0};for (int i = 0; i < time.size(); i ++ ){cnt += nums[(60 - time[i] % 60) % 60];nums[time[i] % 60] ++;}return cnt;}
};

相关文章:

复试 || 就业day01(2023.12.27)算法篇

文章目录 前言两数之和存在重复元素 II好数对的数目总持续时间可被 60 整除的歌曲 前言 &#x1f4ab;你好&#xff0c;我是辰chen&#xff0c;本文旨在准备考研复试或就业 &#x1f4ab;文章题目大多来自于 leetcode&#xff0c;当然也可能来自洛谷或其他刷题平台 &#x1f4a…...

JavaWeb——JQuery

文章目录 JQuery 是什么?jQuery 的原理示意图JQuery 基本开发步骤jQuery 对象和 DOM 对象将dom对象转为JQuery对象jQuery 对象转成 DOM 对象jQuery 选择器基本选择器基础过滤选择器JQuery 是什么? 基本介绍 jQuery 是一个快速的,简洁的 javaScript 库,使用户能更方便地处理…...

Python教程:查询Py模块的版本号,有哪些方法?

1.查看模块内部的版本信息&#xff1a;如果你已经导入了该模块&#xff0c;可以查看模块内部的__version__属性来获取版本信息。例如&#xff0c;对于pandas模块&#xff0c;可以运行import pandas和print(pandas.version)来获取版本信息。 import pandas print(pandas.__vers…...

第一节 初始化项目

系列文章目录 第一节 初始化项目 文章目录 操作步骤 总结 操作步骤 打开cmd 输入 vue ui 在打开的网页中点击“创建”&#xff0c;复制文件夹路径并粘贴点击“在此创建新项目” 输入项目名称 点击下一步选择手动配置 选择babel、router、vuex、css pre-processors、 linter建…...

idea提示unable to import maven project

问题描述&#xff1a; idea导入maven依赖时提示unable to import maven project 打开log日志如下&#xff1a; 问题原因以及解决方案&#xff1a; maven版本与idea版本不兼容&#xff0c;切换maven版本即可...

【Spring】SpringBoot日志

文章目录 什么是日志日志的用途日志的使用如何打印日志日志级别日志框架门面模式&#xff08;外观模式&#xff09;日志级别的使用配置日志级别日志持久化配置日志的存储目录配置日志文件名配置日志文件分割 更简单的日志输出 什么是日志 在计算机领域&#xff0c;日志是一个记…...

HTML+CSS制作动漫绿巨人

🎀效果展示 🎀代码展示 <!DOCTYPE html> <html lang="en" > <head>...

AGV智能搬运机器人-替代人工工位让物流行业降本增效

在当今快速发展的世界中&#xff0c;物流业面临着巨大的挑战&#xff0c;包括提高效率、降低成本和优化工作流程。为了应对这些挑战&#xff0c;一种新型的自动化设备——智能搬运机器人正在崭露头角。本文将通过一个具体的案例来展示富唯智能转运机器人在实际应用中的价值。 案…...

【办公技巧】怎么批量提取文件名到excel

Excel是大家经常用来制作表格的文件&#xff0c;比如输入文件名&#xff0c;如果有大量文件需要输入&#xff0c;用张贴复制或者手动输入的方式还是很费时间的&#xff0c;今天和大家分享如何批量提取文件名。 打开需要提取文件名的文件夹&#xff0c;选中所有文件&#xff0c…...

uniapp实现前端银行卡隐藏中间的数字,及隐藏姓名后两位

Vue 实现前端银行卡隐藏中间的数字 主要应用了 filters过滤器 来实现效果 实现效果&#xff0c;如图&#xff1a; <template><div><div style"background-color: #f4f4f4;margin:50px 0 0 460px;width:900px;height:300px;"><p>原来&#…...

HPCC:高精度拥塞控制

HPCC&#xff1a;高精度拥塞控制 文章目录 HPCC&#xff1a;高精度拥塞控制摘要1 引言1.1 背景1.2 现有CC的局限性1.3 HPCC的提出 2 研究动机2.1 大型RDMA部署2.2 RDMA目标2.3 当前RDMA CC中的权衡DCQCNTIMELY 2.4 下一代高速CC 3 技术方案3.1 INT3.2 HPCC设计3.3 HPPC的参数 4…...

centos 配置 git 连接 github

centos 配置 git 连接 github 首先安装 git 创建 ssh key ssh-keygen -t rsa复制公钥 cat ~/.ssh/id_rsa.pub # 打印出公钥内容然后复制配置 github 登录网页 github 账号&#xff1b;进入 setting&#xff1b;点击 SSH and GPG keys&#xff0c;点击 New SSH keytitile 随便填…...

SpringBoot发布项目到docker

Dockerfile FROM openjdk:11 # 作者 MAINTAINER chenxiaodong<2774398338qq.com># 安装 vim # RUN yum -y install vim# 环境变量 # 进入容器后的默认工作目录 ENV WORKPATH /usr/local/webapp ENV EXECFILE Docker2Application-0.0.1-SNAPSHOT.jarRUN mkdir -p $WORKPA…...

sheng的学习笔记-卷积神经网络

源自吴恩达的深度学习课程&#xff0c;仅用于笔记&#xff0c;便于自行复习 导论 1&#xff09;什么是卷积神经网络 卷积神经网络&#xff0c;也就是convolutional neural networks &#xff08;简称CNN&#xff09;&#xff0c;使用卷积算法的神经网络&#xff0c;常用于计…...

数据库:园林题库软件(《中国古代园林史》答题卷一 )

《中国古代园林史》答题卷一 填空题 1、中国古代园林曾被誉为“世界园林之母”。国际风景园林师联合会(IFLA)的创始人、著名风景园林师和教育家杰里柯爵士( Sir Geoffrey Alan Jellicoe)把中国古代园林和西亚园林以及古希腊园林列为世界三大园林体系之首。 2、中国古代园林是…...

upset 绘制

好久没有更新,今天来一个upset图的绘制 1.1 安装包 #绘制upset的包现在看来有三个 ## UpSet ### 最基本的upsetR包,使用方便,但是扩展不方便 devtools::install_github("hms-dbmi/UpSetR") ## complex-upset ### UpSet的升级款 支持ggplot2 devtools::install_git…...

声明 | 为打击假冒账号、恶意抄袭账号等诈骗活动,提升本账号权威,本博主特此郑重声明

声明 | 为打击假冒账号、恶意抄袭账号诈骗活动&#xff0c;提升本账号权威&#xff0c;本博主特此郑重声明 一、本账号为《机器学习之心》博主CSDN唯一官方账号&#xff0c;唯一联系方式见文章底部。 二、《机器学习之心》博主未授权任何第三方账号进行模型合作、程序设计、源…...

云计算:OpenStack 配置二层物理网卡为三层桥的接口

目录 一、理论 1.OpenStack 二、实验 1. Linux系统修改网卡 2.OpenStack 配置二层物理网卡为三层桥的接口 一、理论 1.OpenStack &#xff08;1&#xff09;概念 OpenStack是一个开源的云计算管理平台项目&#xff0c;是一系列软件开源项目的组合。由NASA(美国国家航空…...

Python sanic框架钉钉和第三方打卡机实现

同样还是需要开通钉钉应用这里就不错多说了 第一步:梳理逻辑流程 前提&#xff1a;打卡的机器是使用postgres数据库&#xff0c;由于因为某些原因&#xff0c;钉钉userId 我已经提前获取到了存放到数据库里。 1.用户打卡成功后&#xff0c;我们应该监听数据库进行查询&#xf…...

微信小程序性能优化

1. 代码包不包含插件大小超过 1.5 M 建议&#xff1a;小程序代码包单个包大小限制为2M。因此我们建议开发者在开发时&#xff0c;如果遇到单包体积大于1.5M的情况&#xff0c;可以采取分包的方式&#xff0c;把部分代码拆分到分包去&#xff0c;降低单个包的体积&#xff0c;提…...

通义千问1.5-1.8B-Chat-GPTQ-Int4 卷积神经网络(CNN)原理入门:模型辅助理解AI视觉基础

通义千问1.5-1.8B-Chat-GPTQ-Int4 卷积神经网络&#xff08;CNN&#xff09;原理入门&#xff1a;模型辅助理解AI视觉基础 你是不是经常看到“AI识别图片”、“自动驾驶看路”、“手机相册自动分类”这些功能&#xff0c;然后好奇它们是怎么做到的&#xff1f;其实&#xff0c…...

OpenClaw+Qwen3.5-4B-Claude:个人知识库自动化更新方案

OpenClawQwen3.5-4B-Claude&#xff1a;个人知识库自动化更新方案 1. 为什么需要自动化知识管理 作为一个每天需要处理大量技术资料的研究者&#xff0c;我发现自己陷入了一个困境&#xff1a;收藏的文章越来越多&#xff0c;但真正消化吸收的内容却越来越少。上周整理笔记时…...

如何让Windows任务栏变透明?TranslucentTB完整教程指南

如何让Windows任务栏变透明&#xff1f;TranslucentTB完整教程指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想要为你的Windows桌面…...

如何快速诊断dynamic-datasource JVM线程问题:JStack实战指南

如何快速诊断dynamic-datasource JVM线程问题&#xff1a;JStack实战指南 【免费下载链接】dynamic-datasource dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务 项目地址: https://gitcode.com/gh_mirrors/dy/dynamic-datasource …...

基于python框架的船舶物流运输管理系统设计vue

目录船舶物流运输管理系统功能分析&#xff08;Vue前端&#xff09;用户管理模块船舶管理功能运输订单管理路径优化模块实时监控看板报表分析功能移动端适配系统集成接口技术栈建议项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合…...

GLM-4V-9B GPU高效利用:通过dtype对齐+4-bit量化实现A10G 24GB满载运行

GLM-4V-9B GPU高效利用&#xff1a;通过dtype对齐4-bit量化实现A10G 24GB满载运行 1. 引言 最近在折腾多模态大模型本地部署的朋友&#xff0c;可能都遇到过类似的问题&#xff1a;模型参数动辄几十上百亿&#xff0c;显存要求高得吓人&#xff0c;好不容易找到个能在消费级显…...

《与AI的妄想对话:如何给机器人造灵魂?》

本文为个人想法分享&#xff0c;是一种幻觉创作&#xff0c;只图一乐。 #赛博哲学 #概念艺术 #AI幻想 #科幻微小说提问&#xff1a; 你分析一下下面这段文章里面的harness它的构建原则。我觉得他和我们这个理论里面说的某一些东西我感觉很像好像是这种智能的或者说锚点定义的简…...

Visual C++ Redistributable开源项目故障排除终极指南:从问题诊断到系统优化

Visual C Redistributable开源项目故障排除终极指南&#xff1a;从问题诊断到系统优化 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 开源项目故障排除是开发者…...

零基础玩转OpenClaw:星图Qwen3-32B镜像的10个入门级自动化案例

零基础玩转OpenClaw&#xff1a;星图Qwen3-32B镜像的10个入门级自动化案例 1. 为什么选择OpenClawQwen3-32B组合&#xff1f; 去年冬天&#xff0c;当我第一次听说OpenClaw这个开源自动化框架时&#xff0c;内心是既兴奋又忐忑的。兴奋的是终于有一个能在本地电脑上实现AI自动…...

IAR平台华大HC32F460工程搭建避坑指南:从零到调试成功的全流程解析

1. 从KEIL到IAR的转型背景 最近两年芯片市场的价格波动&#xff0c;让很多工程师不得不重新评估开发工具链的选择。我作为一个用了五年KEIL的老用户&#xff0c;最近也被迫开始学习IAR平台。原因很简单——当ST单片机价格涨到华大HC32F460的十倍时&#xff0c;任何成本敏感的项…...