复试 || 就业day07(2024.01.02)算法篇

文章目录

  • 前言
  • 数组的度
  • 最短补全词
  • 宝石与石头
  • 唯一摩尔斯密码词
  • 最常见的单词

前言

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

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

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

数组的度


题目链接:数组的度

C++版AC代码:

class Solution {
public:int findShortestSubArray(vector<int>& nums) {unordered_map<int, int> m;unordered_map<int, int> st, ed;   // 记录该元素第一次出现的坐标以及最后一次出现的坐标for (int i = 0; i < nums.size(); i ++ ) {m[nums[i]] ++;if (!st.count(nums[i])) st[nums[i]] = i;  // 记录第一次出现的坐标ed[nums[i]] = i;                          // 记录最后一次出现的坐标}int md = 0;for (auto i = m.begin(); i != m.end(); i ++ ) {int cnt = i -> second;md = max(md, cnt);        // 找出数组的度}int res = nums.size();for (auto i = m.begin(); i != m.end(); i ++ ) {int num = i -> first, cnt = i -> second;if (cnt == md)res = min(res, ed[num] - st[num] + 1);}return res;}
};

最短补全词


题目链接:最短补全词

C++版AC代码:

class Solution {
public:string shortestCompletingWord(string licensePlate, vector<string>& words) {unordered_map<char, int> m;            // 统计 licensePlate 中的字符for (int i = 0; i < licensePlate.size(); i ++ ) {char c = licensePlate[i];if (c >= 'A' && c <= 'Z') m[c + 32] ++;   // 根据ASCII大写变小写if (c >= 'a' && c <= 'z') m[c] ++;}string word;                         vector<string> v;                             // 存储补全词for (int i = 0; i < words.size(); i ++ ) {word = words[i];unordered_map<char, int> tmp;             // 统计 word 中的字符for (int j = 0; j < word.size(); j ++ ) {char c = word[j];if (c >= 'A' && c <= 'Z') tmp[c + 32] ++; // 根据ASCII大写变小写if (c >= 'a' && c <= 'z') tmp[c] ++;}bool flag = true;for (auto k = m.begin(); k != m.end(); k ++ ) {char c = k -> first;int cnt = k -> second;if (tmp[c] < cnt) {             // 注意这里是 < flag = false;break;}}if (flag) v.push_back(word);         // 符合补全词的定义}string res = v[0];int minlen = v[0].size();for (int i = 1; i < v.size(); i ++ ) {   // 找最短补全词 if (v[i].size() < minlen) {res = v[i];minlen = v[i].size();}}return res;}
};

宝石与石头


题目链接:宝石与石头

C++版AC代码:

class Solution {
public:int numJewelsInStones(string jewels, string stones) {unordered_map<char, int> m;for (int i = 0; i < jewels.size(); i ++ ) m[jewels[i]] = 1;int res = 0;for (int i = 0; i <stones.size(); i ++ ) if (m.count(stones[i]))res ++;return res;}
};

唯一摩尔斯密码词


题目链接:唯一摩尔斯密码词

C++版AC代码:

class Solution {
public:int uniqueMorseRepresentations(vector<string>& words) {unordered_map<string, int> m;unordered_map<char, string> mos;string v[] = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};for (int i = 0; i < 26; i ++ ) mos['a' + i] = v[i];      // 构建mos表for (int i = 0; i < words.size(); i ++ ) {string word = words[i];string mosi;for (int j = 0; j < word.size(); j ++ ) mosi += mos[word[j]];m[mosi] ++;}return m.size();}
};

最常见的单词


题目链接:最常见的单词

注意细节处理就好了,关于字符串的操作还需再熟悉

C++版AC代码:

class Solution {
public:unordered_map<string, int> m;string getres() {string res;int maxtimes = 0;for (auto i = m.begin(); i != m.end(); i ++ ) {int times = i -> second;string c = i -> first;if (times > maxtimes) {maxtimes = times;res = c;}}return res;}string mostCommonWord(string paragraph, vector<string>& banned) {for (int i = 0; i < paragraph.size(); i ++ ) {char c = paragraph[i];if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {int j = i;while (j < paragraph.size()) {c = paragraph[j];if (c >= 'a' && c <= 'z') j ++;else if (c >= 'A' && c <= 'Z') {paragraph[j] += 32;      j ++;}else break;}string word = paragraph.substr(i, j - i);  // 提取单词m[word] ++;i = j;}else continue;}if (banned.empty()) return getres();for (int i = 0; i <banned.size(); i ++ ) m[banned[i]] = 0;  return getres();}
};

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

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

相关文章

Docker部署系列之Docker Compose安装Redis三主三从集群

总结/朱季谦 在日常开发或者编程当中&#xff0c;经常需要用到redis集群&#xff0c;若是按照传统的方式&#xff0c;一个机器一个机器搭建&#xff0c;难免过于繁琐&#xff0c;故而可以通过dock er-compose编排方式&#xff0c;快速搭建。我在搭建过程当中&#xff0c;将操作…

tf-idf +逻辑回归来识别垃圾文本

引入相关包 from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score, auc, roc_auc_score import joblib import os import pandas as pd from sklearn.model_select…

今天用vite新建的vue3的项目 启动遇到报错

UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token ??at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18) (Use node --trace-warnings ... to show where the warning was created) (node:30304) UnhandledPromiseRejectionWarning: U…

普中STM32-PZ6806L开发板(HAL库函数实现-USART2 中断接收)

简介 实现USART2 的 中断接收&#xff0c; 发送数据。电路原理图 USART2接线 原理图USART2 在主芯片引脚 实物图 其他知识 APIs stm32f1xx_hal_uart.h /* 堵塞发送, pData是发送数据, Size发送数据大小, Timeout是超时时间 */ HAL_StatusTypeDef HAL_UART_Transmit(UAR…

小程序接收PHP返回中文乱码

小程序接收PHP返回中文乱码可能是由于编码不一致或字符集设置不正确导致的。以下是一些可能的解决方案&#xff1a; 确保PHP和微信小程序之间的编码一致&#xff1a;在PHP代码中&#xff0c;使用header(Content-Type: text/html; charsetutf-8);来设置正确的字符集为UTF-8。同…

跳过用例

章节目录&#xff1a; 一、概述二、跳过用例函数三、执行期间跳过剩余步骤四、跳过整个测试模块五、判断跳过部分用例六、跳过标记七、依赖检查八、结束语 一、概述 pytest.mark.skip 可以标记无法在某些平台上运行的测试功能&#xff0c;或者您希望失败的测试功能。希望满足某…

安卓在SOA中的运用

安卓在运用SOA研发的过程中&#xff0c;会针对实际情况对研发的架构和流程进行优化&#xff0c;通过优化过的架构和实施方案&#xff0c;不仅可以大大提升了整车开发的效率和灵活行以及功能落地的稳定性&#xff0c;同时也增加了系统的向上兼容性。 目前基于车载SOA系统的研发…

Python子进程内numpy.random失效

问题描述&#xff1a;子进程内调用 np.random.randint()&#xff0c;生成的随机数相同 问题分析&#xff1a;Random seed is replication across child processes Issue #9650 numpy/numpy GitHub 向大佬致敬 解决办法&#xff1a;在子进程调用的函数的首行添加 np.rand…

如何在Mendix中实现全文检索

功能背景 在日常的应用使用过程中&#xff0c;存在大量希望使用全文检索技术的场景&#xff0c;对资料库中的内容进行查询。Mendix默认的结构化查询方式&#xff0c;适合对特定业务实体进行类似数据库单表的基于SQL语句的查询。那如何在Mendix实现全文检索的功能呢&#…

聊聊PowerJob的HttpProcessor

序 本文主要研究一下PowerJob的HttpProcessor BasicProcessor tech/powerjob/worker/core/processor/sdk/BasicProcessor.java public interface BasicProcessor {/*** 核心处理逻辑* 可通过 {link TaskContext#getWorkflowContext()} 方法获取工作流上下文** param contex…

Windows CPU部署llama2量化模型并实现API接口

目录 模型部署本地运行llama2使用fastapi实现API接口常用git仓库 模型部署 从huggingface下载模型 https://huggingface.co/ 放在本地文件夹&#xff0c;如下 本地运行llama2 from ctransformers import AutoModelForCausalLMllm AutoModelForCausalLM.from_pretrained(&q…

请求转发和重定向的区别

当客户端向服务器发送一个请求时&#xff0c;服务器可以通过请求转发和重定向两种方式来处理请求。这两种方式有着不同的实现机制和应用场景。 请求转发&#xff08;Forward&#xff09;&#xff1a; 请求转发是指服务器接收到一个客户端的请求后&#xff0c;将该请求转发给另…

微软好听的tts语音包下载,粤语,韩语,日语

微软的 tts 语音库&#xff0c;都是离线的&#xff0c;所以速度非常快 但资源比较少&#xff0c;比如粤语&#xff0c;韩语&#xff0c;日语 我发现一个老牌语音技术供应商。 资源丰富&#xff0c;可自行下载免费或收费语音包。 网站&#xff1a;正版用户专用配套播音员下载…

gitee添加仓库人员

1.进入gitee项目&#xff0c;点击管理 2.点击仓库成员管理&#xff0c;展开仓库成员管理节点&#xff0c;选择所有或者开发者 3.点击添加仓库成员 4. 邀请用户

Superset二次开发之环境部署(Docker版)

目录结构: /data/superset ├── 3.x-build.sh – docker build 命令脚本 ├── 3.x-run.sh – docker run 命令脚本 ├── src …

1214:八皇后 深度优先搜索算法

1214&#xff1a;八皇后 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 22901 通过数: 14116 【题目描述】 会下国际象棋的人都很清楚&#xff1a;皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上&#xff08;有8 8个方格&#xff09;&#xff0c…

深度生成模型之GAN的评估 ->(个人学习记录笔记)

文章目录 深度生成模型之GAN的评估图像翻译的应用1. 风格迁移2. 数据增强3. 经典图像任务4. 内容创作5. 人脸图像编辑6. 人体图像编辑 图像翻译模型1. 有监督图像翻译模型2. 无监督图像翻译模型3. 多域图像翻译模型 深度生成模型之GAN的评估 图像翻译的应用 1. 风格迁移 各类…

2024年腾讯云服务器租用价格表_优惠活动大全_实时更新

腾讯云服务器租用价格表&#xff1a;轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月&#xff0c;云服务器CVM S5实例2核2G配置280.8元一年…

NA原理及配置

在IP地址空间中&#xff0c;a&#xff1b;b&#xff1b;c类地址中各有一部分地址&#xff0c;被称为私有IP地址&#xff08;私网地址&#xff09;&#xff0c;其余的为公有IP地址&#xff08;公网地址&#xff09; A&#xff1a;10.0.0.0 - 10.255.255.255 --- 相当于1条A类网段…

PyTorch官网demo解读——第一个神经网络(4)

上一篇&#xff1a;PyTorch官网demo解读——第一个神经网络&#xff08;3&#xff09;-CSDN博客 上一篇我们聊了手写数字识别神经网络的损失函数和梯度下降算法&#xff0c;这一篇我们来聊聊激活函数。 大佬说激活函数的作用是让神经网络产生非线性&#xff0c;类似人脑神经元…