复试 || 就业day16(2024.01.16)算法篇

文章目录

  • 前言
  • 环和杆
  • 检查是否每一行每一列都包含全部整数
  • 将找到的值乘以 2
  • 数组中紧跟 key 之后出现最频繁的数字
  • 将数组划分成相等数对
  • 找出两数组的不同
  • 多个数组求交集
  • 移除字母异位词后的结果数组*

前言

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

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

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

环和杆


题目链接:环和杆

C++版AC代码:

class Solution {
public:int countPoints(string rings) {unordered_set<char> s[10];for (int i = 0; i < rings.size(); i += 2) {int ad = rings[i + 1] - '0';s[ad].insert(rings[i]);}int res = 0;for (int i = 0; i < 10; i ++ ) if (s[i].size() == 3) res ++;return res;}
};

检查是否每一行每一列都包含全部整数


题目链接:检查是否每一行每一列都包含全部整数

C++版AC代码:

class Solution {
public:bool checkValid(vector<vector<int>>& matrix) {int n = matrix.size();unordered_set<int> row[n], col[n];for (int i = 0; i < n; i ++ ) for (int j = 0; j < n; j ++ ) {if (row[i].find(matrix[i][j]) != row[i].end()) return false;if (col[j].find(matrix[i][j]) != col[j].end())return false;row[i].insert(matrix[i][j]), col[j].insert(matrix[i][j]);}return true;}
};

将找到的值乘以 2


题目链接:将找到的值乘以 2

C++版AC代码:

class Solution {
public:int findFinalValue(vector<int>& nums, int original) {unordered_set<int> s;for (auto x : nums) s.insert(x);while (1) {if (s.count(original)) original *= 2;else break;}return original;}
};

数组中紧跟 key 之后出现最频繁的数字


题目链接:数组中紧跟 key 之后出现最频繁的数字

C++版AC代码:

class Solution {
public:int mostFrequent(vector<int>& nums, int key) {unordered_map<int, int> m;for (int i = 0; i < nums.size() - 1; i ++ ) if (nums[i] == key) m[nums[i + 1]] ++;int times = 0, res = 0;for (auto it : m)if (it.second > times) {res = it.first;times = it.second;}return res;} 
};

将数组划分成相等数对


题目链接:将数组划分成相等数对

C++版AC代码:

class Solution {
public:bool divideArray(vector<int>& nums) {unordered_map<int, int> m;for (auto x : nums) m[x] ++;for (auto it : m) if (it.second % 2) return false;return true;}
};

找出两数组的不同


题目链接:找出两数组的不同

C++版AC代码:

class Solution {
public:vector<vector<int>> findDifference(vector<int>& nums1, vector<int>& nums2) {vector<vector<int>> res(2);unordered_set<int> s1(nums1.begin(), nums1.end());unordered_set<int> s2(nums2.begin(), nums2.end());for (auto it : s1) if (!s2.count(it))res[0].push_back(it);for (auto it : s2)if (!s1.count(it))res[1].push_back(it);return res;}
};

多个数组求交集


题目链接:多个数组求交集

C++版AC代码:

class Solution {
public:vector<int> intersection(vector<vector<int>>& nums) {vector<int> res;unordered_map<int, int> m;int n = nums.size();for (int i = 0; i < n; ++ i ) for (auto x : nums[i])m[x] ++;for (auto it : m) if (it.second == n)res.push_back(it.first);sort(res.begin(), res.end());return res;}
};

移除字母异位词后的结果数组*


题目链接:移除字母异位词后的结果数组

C++版AC代码:

首先把 word[0] 放入 res 中,依次依照题意比较后续 word[i],即 word[i]res[res.size() - 1] 进行比较即可

class Solution {
public:bool isAnagrams(string word1, string word2) {unordered_map<char, int> m;for (auto c : word1) m[c] ++;for (auto c : word2) m[c] --;for (auto it : m) if (it.second) return false;return true;}vector<string> removeAnagrams(vector<string>& words) {vector<string> res = {words[0]};for (int i = 1; i < words.size(); ++ i ) if (isAnagrams(words[i], res[res.size() - 1])) continue;else res.push_back(words[i]);return res;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/629823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在uniapp Vue3版本中如何解决web/H5网页浏览器跨域的问题

问题复现 uniapp项目在浏览器运行&#xff0c;有可能调用某些接口会出现跨域问题&#xff0c;报错如下图所示&#xff1a; 什么是跨域&#xff1f; 存在跨域问题的原因是因为浏览器的同源策略&#xff0c;也就是说前端无法直接发起跨域请求。同源策略是一个基础的安全策略&a…

前端下载文件流,设置返回值类型responseType:‘blob‘无效的问题

前言&#xff1a; 本是一个非常简单的请求&#xff0c;即是下载文件。通常的做法如下&#xff1a; 1.前端通过Vue Axios向后端请求&#xff0c;同时在请求中设置响应体为Blob格式。 2.后端相应前端的请求&#xff0c;同时返回Blob格式的文件给到前端&#xff08;如果没有步骤…

shell脚本 $0-$n $* $@ $# $? $$

各命令详解 1.$0-$n &#xff1a;表示脚本或函数的参数。$0 是脚本的名称&#xff0c;$1 到 $n 是位置参数&#xff0c;每个对应一个传递给脚本或函数的参数。 2.$* &#xff1a;表示所有传递给脚本或函数的参数。它将所有位置参数作为单个字符串显示。 3.$ &#xff1a;表示所…

时序预测 | MATLAB实现GRNN广义回归神经网络时间序列未来多步预测(程序含详细预测步骤)

时序预测 | MATLAB实现GRNN广义回归神经网络时间序列未来多步预测(程序含详细预测步骤) 目录 时序预测 | MATLAB实现GRNN广义回归神经网络时间序列未来多步预测(程序含详细预测步骤)预测效果基本介绍程序设计参考资料预测效果 基本介绍 MATLAB实现GRNN广义回归神经网络时间序列…

大语言模型面试问题【持续更新中】

自己在看面经中遇到的一些面试题&#xff0c;结合自己和理解进行了一下整理。 transformer中求和与归一化中“求和”是什么意思&#xff1f; 求和的意思就是残差层求和&#xff0c;原本的等式为y H(x)转化为y x H(x)&#xff0c;这样做的目的是防止网络层数的加深而造成的梯…

openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_DSA_paramgen.c

文章目录 openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_DSA_paramgen.c概述笔记END openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_DSA_paramgen.c 概述 产生DSA的_evp_pkey_ctx 初始化_evp_pkey_ctx 设置参数到_evp_pkey_ctx 由_evp_pkey_ctx产生_evp_pkey 打印_evp_pkey公…

Angular系列教程之观察者模式和RxJS

文章目录 引言RxJS简介RxJS中的设计模式观察者模式迭代器模式 示例代码RxJS 在 Angular 中的应用总结 引言 在Angular开发中&#xff0c;我们经常需要处理异步操作&#xff0c;例如从后端获取数据或与用户的交互。为了更好地管理这些异步操作&#xff0c;Angular中引入了RxJS&…

el-table嵌套两层el-dropdown-menu导致样式错乱

问题&#xff1a; 解决方式&#xff1a; <el-table-column label"操作" fixed"right" width"132" align"center"><template slot-scope"scope"><div v-if"scope.row._index ! 合计"><el-d…

Android 实现跑马灯效果

Android 实现跑马灯效果 Android中实现跑马灯效果有多种方式,本篇简单介绍下: 1: TextView属性实现 <TextViewandroid:layout_width"150dp"android:layout_height"wrap_content"android:background"#77000000"android:padding"5dp&quo…

笨蛋学设计模式结构型模式-装饰者模式【9】

结构型模式-装饰者模式 7.3装饰者模式:arrow_up::arrow_up::arrow_up:7.3.1概念7.3.2场景7.3.3优势 / 劣势7.3.4装饰者模式可分为7.3.5装饰者模式7.3.6实战7.3.6.1题目描述7.3.6.2输入描述7.3.6.3输出描述7.3.6.4代码 7.3.7总结装饰者模式 7.3装饰者模式⬆️⬆️⬆️ 7.3.1概念…

【PWN · GOT表劫持 | 整数溢出】[HGAME 2023 week1]choose_the_seat

整数溢出&#xff0c;加之保护开的不全&#xff0c;可以反复越界修改got表&#xff0c;劫持puts函数实现利用 一、题目概述 限制&#xff1a;v0不可以大于9 理想中数组所在bss端地址&#xff1a; 注意到与got表项距离很近 危险函数只能执行一遍&#xff0c;然后回exit(0) 二…

Next.js 开发指​南(GitHub 115k star​)

Next.js 是一个构建于 Node.js 之上的开源 Web 开发框架&#xff0c;它扩展了最新的 React 特性&#xff0c;集成了基于 Rust 的 JavaScript 工具&#xff0c;可以帮助你快速创建全栈 Web 应用 &#xff08;full-stack Web applications&#xff09; 。 对于有一定 React 基础…

华为数通方向HCIP-DataCom H12-831题库(判断题:21-40)

第21题 OSPF的NSSA区域内,在ASBR路由器上不论路由表中是否存在缺省路由,都会自动产生描述缺省路由的Type7LSA,通告到整个NSSA区域 正确 错误 答案:错误 解析: 在NSSA区域中,ASBR默认情况下不会产生7类LSA表示的默认路由。 第22题 BFD单跳检测是指对两个直连接口进行IP连…

Express安装与基础使用

一、express 介绍 express 是一个基于 Node.js 平台的极简、灵活的 WEB 应用开发框架&#xff0c; 官方网站&#xff1a; Express - 基于 Node.js 平台的 web 应用开发框架 - Express中文文档 | Express中文网 中文文档&#xff1a; 路由 - Express 中文文档 简单来说&am…

数据库概念大全

1.数据库的四个基本概念 (1)数据 data:描述事物的符号&#xff0c;数据库中存储的基本对象。 (2)数据库 DataBase, DB:长期存储在计算机内的&#xff0c;有组织的&#xff0c;可共享的大量数据集合、 (3)数据库管理系统 DMBS&#xff1a;位于用户与操作系统之间的一层数据管…

Kafka生产消费流程

Kafka生产消费流程 1.Kafka一条消息发送和消费的流程图(非集群) 2.三种发送方式 准备工作 创建maven工程&#xff0c;引入依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.3.1…

笔试面试题——继承和多态

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、什么是多态&#xff1f;二、什么是重载、重写(覆盖)、重定义(隐藏)&#xff1f;三、 inli…

实现将信息作为txt,pdf,图片的形式保存到电脑~

PrintableUtils作为输出信息的工具类&#xff1a; package org.example; import com.itextpdf.text.*; import com.itextpdf.text.Font; import com.itextpdf.text.pdf.PdfWriter; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; im…

QT发布成exe不能运行解决方案

原因 qt发布成exe后不会把依赖的dll自动拷贝到文件夹中. 解决方案&#xff1a; 输入&#xff1a;windeployqt 拖拉 生产的exe到命令行. 会自动copy依赖到文件夹中&#xff1a; 然后就可以单击运行了&#xff01;

【温故而知新】HTML5的Video/Audio

文章目录 一、概念二、Video浏览器支持视频格式视频标签 三、Audio浏览器支持音频格式标签 一、概念 HTML5是HTML的最新版本&#xff0c;它引入了许多新的元素和功能&#xff0c;以适应现代网页开发的需求。以下是HTML5的一些主要特点&#xff1a; 新增语义元素&#xff1a;H…