复试 || 就业day05(2023.12.31)算法篇
文章目录
- 前言
- 找不同
- 最长回文串
- 找到所有数组中消失的数字
- 下一个更大元素 I
- 键盘行
前言
💫你好,我是辰chen,本文旨在准备考研复试或就业
💫文章题目大多来自于 leetcode,当然也可能来自洛谷或其他刷题平台
💫欢迎大家的关注,我的博客主要关注于考研408以及AIoT的内容
🌟 仅给出C++版代码
以下的几个专栏是本人比较满意的专栏(大部分专栏仍在持续更新),欢迎大家的关注:
💥ACM-ICPC算法汇总【基础篇】
💥ACM-ICPC算法汇总【提高篇】
💥AIoT(人工智能+物联网)
💥考研
💥CSP认证考试历年题解
找不同
题目链接:找不同
C++版AC代码:
哈希
class Solution {
public:char findTheDifference(string s, string t) {unordered_map<char, int> m;for (int i = 0; i < s.size(); i ++ ) m[s[i]] ++;for (int i = 0; i < t.size(); i ++ ) m[t[i]] --;char res;for (auto i = m.begin(); i != m.end(); i ++ )if (i -> second == -1){res = i -> first;break;}return res;}
};
C++版AC代码:
题解中一种有趣的解法:累加 t 串的 ASCII,累加 s 串的 ASCII,相减即为多出的字符的 ASCII
class Solution {
public:char findTheDifference(string s, string t) {int ascii = 0;for (int i = 0; i < t.size(); i ++ ) ascii += t[i] - 'a';for (int i = 0; i < s.size(); i ++ ) ascii -= s[i] - 'a';return 'a' + ascii;}
};
最长回文串
题目链接:最长回文串
C++版AC代码:
class Solution {
public:int longestPalindrome(string s) {unordered_map<char, int> m;for (int i = 0; i < s.size(); i ++ ) m[s[i]] ++;int res = 0, odd = 0;for (auto i = m.begin(); i != m.end(); i ++ ){int k = i -> second;if (!(k % 2)) res += k;else{res += k - 1;odd = 1;}}return res + odd;}
};
找到所有数组中消失的数字
题目链接:找到所有数组中消失的数字
C++版AC代码:
class Solution {
public:vector<int> findDisappearedNumbers(vector<int>& nums) {vector<int> res;unordered_map<int, int> m;for (int k : nums) m[k] = 1;for (int i = 1; i <= nums.size(); i ++ ) if (!m.count(i)) res.push_back(i);return res;}
};
下一个更大元素 I
题目链接:下一个更大元素 I
C++版AC代码:
单调栈+哈希表,单调栈适用于:求下一个更大的元素;维护一个从栈顶到栈底单调递增的栈,栈顶元素(若存在的话)即为当前元素右边的比他大的第一个元素,因此在构建单调栈的时候需要逆序遍历 nums2
,在当前元素 >= st.top()
的时候,需要弹出栈顶的元素直至栈空或栈顶元素大于当前元素。
class Solution {
public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {unordered_map<int, int> m;stack<int> st;for (int i = nums2.size() - 1; i >= 0; -- i){while (!st.empty() && nums2[i] >= st.top()) st.pop();m[nums2[i]] = st.empty() ? -1 : st.top();st.push(nums2[i]);}vector<int> res(nums1.size());for (int i = 0; i < nums1.size(); i ++ ) res[i] = m[nums1[i]];return res;}
};
键盘行
题目链接:键盘行
C++版AC代码:
💩💩💩屎山代码,自己看的都难受,不太想写了,赶紧打个卡而已,祝大家新年快乐!
class Solution {
public:vector<string> findWords(vector<string>& words) {vector<string> res;string s0 = "qwertyuiop", s1 = "asdfghjkl", s2 = "zxcvbnm";for (auto word : words){string tmp = word;for (int i = 0; i < word.size(); i ++ ) {if (word[i] >= 'A' && word[i] <= 'Z') word[i] += 32; // 根据ASCII大写变小写}bool flag = true;int key;if (s0.find(word[0]) != -1) key = 0;else if (s1.find(word[0]) != -1) key = 1;else key = 2;for (int i = 1; i < word.size(); i ++ ){if (key == 0){ // 第一行if (s0.find(word[i]) == -1){ flag = false;break;}}else if (key == 1){ // 第二行if (s1.find(word[i]) == -1){flag = false;break;}}else { // 第三行if (s2.find(word[i]) == -1){flag = false;break;}}}if (flag) res.push_back(tmp);}return res;}
};
相关文章:
复试 || 就业day05(2023.12.31)算法篇
文章目录 前言找不同最长回文串找到所有数组中消失的数字下一个更大元素 I键盘行 前言 💫你好,我是辰chen,本文旨在准备考研复试或就业 💫文章题目大多来自于 leetcode,当然也可能来自洛谷或其他刷题平台 💫…...
Spring-4-代理
前面提到过,在Spring中有两种类型的代理:使用JDK Proxy类创建的JDK代理以及使用CGLIB Enhancer类创建的基于CGLIB的代理。 你可能想知道这两种代理之间有什么区别,以及为什么 Spring需要两种代理类型。 在本节中,将详细研究代理…...
设计模式:抽象工厂模式(讲故事易懂)
抽象工厂模式 定义:将有关联关系的系列产品放到一个工厂里,通过该工厂生产一系列产品。 设计模式有三大分类:创建型模式、结构型模式、行为型模式 抽象工厂模式属于创建型模式 上篇 工厂方法模式 提到工厂方法模式中每个工厂只生产一种特定…...
C语言中的Strict Aliasing Rule
文章目录 前言没有警告不代表没有问题目前的应对方法 前言 很久没写了,水一篇。 最近有个代码在gcc 4.8.5上编译失败。编译失败的提示是: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werrorstrict-aliasing]查了下…...
单字符检测模型charnet使用方法,极简
Git链接 安装按照上面的说明,说下使用。 把tools下面的test做了一点修改,可以读取一张图片,把里面的单个字符都检测和识别出来。 然后绘制到屏幕上。 import torch from charnet.modeling.model import CharNet import cv2, os import num…...
Erlang、RabbitMQ下载与安装教程(windows超详细)
目录 安装Erlang 1.首先安装RabbitMQ需要安装Erlang环境 2.点击下载好的.exe文件进行傻瓜式安装,一直next即可 3.配置Erlang环境变量 安装RabbitMQ 1.给出RabbitMQ官网下载址:Installing on Windows — RabbitMQ,找到 2.配置RabbitMQ环境变量࿰…...
2023年终总结丨很苦,很酷!
文章目录 个人简介丨了解博主写在前面丨博主介绍年终总结丨博主成就年终总结丨博主想说年终总结丨学习芝士年终总结丨未来展望写在后面丨新年快乐 个人简介丨了解博主 主页地址:https://blog.csdn.net/m0_68111267 荣誉身份 ⭐2022年度CSDN 社区之星 Top6 ⭐2023年…...
鸿蒙 DevEco Studio 3.1 入门指南
本文主要记录开发者入门,从软件安装到项目运行,以及后续的学习 1,配置开发环境 1.1 下载安装包 官网下载链接 点击立即下载找到对应版版本 下载完成,按照提示默认安装即可 1.2 下载SDK及工具链 运行已安装的DevEco Studio&…...
ubuntu多用户环境dockerbug,卸载重装docker流程
之前不小心误操作删除重装docker,结果删除没成功,更没法重装,每次apt install都会报一个docker错误,虽然不影响软件的常规安装~但是现在还是需要装一个完整docker,还是选择删除一下,重点是关闭服…...
微信小程序开发系列-09自定义组件样式特性
微信小程序开发系列目录 《微信小程序开发系列-01创建一个最小的小程序项目》《微信小程序开发系列-02注册小程序》《微信小程序开发系列-03全局配置中的“window”和“tabBar”》《微信小程序开发系列-04获取用户图像和昵称》《微信小程序开发系列-05登录小程序》《微信小程序…...
数据结构 模拟实现LinkedList单向不循环链表
目录 一、链表的简单介绍 二、链表的接口 三、链表的方法实现 (1)display方法 (2)size得到单链表的长度方法 (3)addFirst头插方法 (4)addLast尾插方法 (5…...
2023-12-24 LeetCode每日一题(收集足够苹果的最小花园周长)
2023-12-24每日一题 一、题目编号 1954. 收集足够苹果的最小花园周长二、题目链接 点击跳转到题目位置 三、题目描述 给你一个用无限二维网格表示的花园,每一个 整数坐标处都有一棵苹果树。整数坐标 (i, j) 处的苹果树有 |i| |j| 个苹果。 你将会买下正中心坐…...
Oracle 19c OCP 1z0 082考场真题解析第17题
考试科目:1Z0-082 考试题量:90 通过分数:60% 考试时间:150min 本文为云贝教育郭一军guoyJoe原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 17. Which three …...
掌握这十几个Python库才是爬虫界的天花板,没有你搞不定的网站!实战案例:Python全网最强电影搜索工具,自动生成播放链接
掌握这十几个Python库才是爬虫界的天花板,没有你搞不定的网站!实战案例:Python全网最强电影搜索工具,自动生成播放链接。 用来爬虫的十几个Python库。只要正确选择适合自己的Python库才能真正提高爬虫效率,到达高效爬虫目的。 1.PyQuery from pyquery import PyQuery as …...
模型 KANO卡诺模型
本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。需求分析。 1 卡诺模型的应用 1.1 餐厅需求分析故事 假设你经营一家餐厅,你想了解客户对你的服务质量的满意度。你可以使用卡诺模型来收集客户的反馈,并分析客户的…...
启明智显开源项目分享|基于Model 3c芯片的86中控面板ZX3D95CM20S-V11项目软硬件全开源
前言: 本文为4寸 480*480 RGB接口IPS全面触屏的86中控面板(RT-ThreadLVGL)软硬件开源干货内容,该项目是综合性非常强的RTOS系列项目!项目主控芯片使用 Model 3c,整体实现了简化版本的86中控面板的功能需求…...
Kind创建k8s - JAVA操作控制
kind 简介kind 架构安装 Kind (必备工具)docker官网kubectl官网kind官网校验安装结果 关于kind 命令 安装一个集群查看当前 Kubernetes 集群中的节点信息。查看当前命名空间下中的Pod(容器实例)的信息。使用 kind create cluster 安装,关于安…...
Qt sender()函数
sender函数原型: QObject *sender() const; 如果在由信号激活的插槽中调用该函数,返回指向发送信号的对象的指针,否则返回0,该指针仅在从该对象的线程上下文调用此函数的槽执行期间有效。 主要代码如下: 其中运用了Q…...
Java开发框架和中间件面试题(6)
目录 61.什么是Spring Batch? 62.请举例解释Required与Qualifier注解? 61.什么是Spring Batch? Spring batch是一个轻量级的,完善的批处理框架,他主要的目的在于帮助企业建立健壮,高效的批处理应用。Spri…...
附录E SQL入门之SQL保留字
本专栏目录 第1课 SQL入门之了解SQL 第2课 SQL入门之检索数据 第3课 SQL入门之排序检索数据 第4课 SQL入门之过滤数据 第5课 SQL入门之高级数据过滤 第6课 SQL入门之用通配符进行过滤 第7课 SQL入门之创建计算字段 第8课 SQL入门之使用数据处理函数 第9课 SQL入门之汇总数据 第…...
thinkphp6.0升级到8.0
目录 一:升级过程 二:报错处理 最近写的项目需要使用thinkphp8.0,之前的老项目需要从php6.0升级到8.0,特此记录下升级过程。 一:升级过程 查看版本: php think version,我目前的版本是6.1.4 生成thin…...
机器学习(一) -- 概述
系列文章目录 机器学习(一) -- 概述 机器学习(二) -- 数据预处理 未完待续…… 目录 系列文章目录 前言 一、机器学习定义(是什么) 二、机器学习的应用(能做什么) 三、***机器…...
SpringBoot定时监听RocketMQ的NameServer
问题分析 自己在测试环境部署了RocketMQ,发现namesrv很容易挂掉,于是就想着监控,挂了就发邮件通知。查看了rocketmq-dashboard项目,发现只能监控Broker,遂放弃这一路径。于是就从报错的日志入手,发现最终可…...
电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理
在数字化时代,采购管理也正经历着前所未有的变革。全过程数字化采购管理成为了企业追求高效、透明和规范的关键。该系统通过Spring Cloud、Spring Boot2、Mybatis等先进技术,打造了从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通过…...
各部门请注意,VELO维乐潮流骑士尼莫出街啦,快来加入吧!
VELO潮流骑士丨车界“小学生”尼莫,下面是来自她的自诉: 大家好!我是尼莫,一枚骑车届的“小学生”,我爱上骑车已经有一年的时间啦!在这一年的时间里,骑车改变了我很多:爱上…...
Flutter配置Android和IOS允许http访问
默认情况下,Android和IOS只支持对https的访问,如果需要访问不安全的连接,也就是http,需要做以下配置。 Android 在res目录下的xml目录中(如果不存在,先创建xml目录),创建一个xml文件network_security_con…...
[设计模式 Go实现] 创建型~抽象工厂模式
抽象工厂模式用于生成产品族的工厂,所生成的对象是有关联的。 如果抽象工厂退化成生成的对象无关联则成为工厂函数模式。 比如本例子中使用RDB和XML存储订单信息,抽象工厂分别能生成相关的主订单信息和订单详情信息。 如果业务逻辑中需要替换使用的时候…...
移动端开发框架mui代码在安卓模拟器上运行(HbuilderX连接到模拟器)
开发工具 HBuilder X 3.8.12.20230817 注意:开发工具尽量用最新的或较新的。太旧的版本在开发调试过程中可能会出现莫名其妙的问题。 1、电脑下载安装安卓模拟器 我这里使用的是 夜神模拟器 ,也可以选择其他安卓模拟器 夜神模拟器官网:夜神安…...
upload-labs Pass-03(黑名单验证,特殊后缀)问题纠正
php任何后缀名解析 背景:为了验证php解析不依靠后缀名,可以是任何后缀名,纠正upload-labs Pass-03(黑名单验证,特殊后缀)里所说的几个固定的后缀名理论是错误的。1 部署1.1 环境准备1.1.1 系统、内核&#…...
微信小程序-父子页面传值
父子页面传值 父页面向子页面传值 方法一: 父页面: 1. /page/xxx/xxx?id1子页面: onLoad:function(option){ }方法二 <bindtap“func” data-xxx””> 子页面向父页面传值 定义父子页面 父页面:hotspot 子页面&a…...
电影资源分享网站怎么做的/抖来查关键词搜索排名
权限管理权限表:1 订单管理2 用户管理3 菜单管理4 权限分配5 Bug管理用户表:1 Alex2 egon用户权限关系表:1 11 22 1import pymysqlclass DB:__conn pymysql.connect(host"localhost", user"root"…...
wordpress朋友圈主题/网站推广软件下载
combox存在问题 界面加载完成信号 Component.onCompleted: { console.log(“1”) } combox盒子组件 combox{ model:{ console.log(“2”) } onActivated: { } onCurrentTextChanged: { } } 以上发现总是先打印2,再打印1; onCurrentTextChanged信号在i…...
csdn 博客 wordpress/百度广告投放价格表
概述在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,我们还需要用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有…...
判断网站模板版本/常用的搜索引擎
在寒冷的冬天,很多车主在开车的时候会出现一个问题,那就是凉车启动困难这个问题,具体就是打不着火,必须得打几下才能启动,或者在打火的时候,发动机运转了几个行程之后才能打着火,而且打着火以后…...
深圳网站建设怎样容易/中国十大搜索引擎网站
【絮语】在进行系统发育分析过程中,建树序列的进化模型选择是至关重要的一步,尤其对进化模型敏感的ML法和BI法,更是重中之重。对于一些新手而言,经常使用默认参数而忽略了这一关键步骤,从而导致建树结果的不理想。为此…...
怎样联系自己建设网站/代运营电商公司
在进行无人车的轨迹规划时,需要考虑无人车的车辆模型,才可以规划出符合车辆运动特性的、舒适的、容易被跟踪的路径。常用的车辆运动学模型有自行车模型和阿克曼转向几何模型,自行车模型实际上是对阿克曼转向几何的一个简化。我在之前分析Apol…...