考研笔试/上机经典编程题集合(持续更新并完善解题思路)

目录

  • 一、程序设计经典编程题(C语言实现)
    • 1.1 判断一个字符串是否由另一个字符串旋转得到
    • 1.2 字符串左旋
    • 1.3 求最大公约数以及最小公倍数
  • 二、力扣
    • 2.1 面试题 17.04. 消失的数字
  • 三、牛客网
    • 3.1 OR62 倒置字符串

一、程序设计经典编程题(C语言实现)

1.1 判断一个字符串是否由另一个字符串旋转得到

1.2 字符串左旋

  • 题目描述:
    在这里插入图片描述

1.3 求最大公约数以及最小公倍数

可以参考本博客
可以用初中数学理解一下辗转相除法

二、力扣

2.1 面试题 17.04. 消失的数字

题目链接

  1. 解法一:首先^遵循交换律 且0^N=N N^N=0 把所有的元素都^起来 相同的都成0 剩下一个单独的 就是消失的数字 相当于找单身狗
  2. 解法二:既然题目描述里的n 其实应该等于numsSize 也就是我应该有的元素是0,1,2,3,4,n(numsSize) 把他们全都加起来去减数组的值 结果就是那个孤儿
  3. 解法二还可以优化 1-n求和直接用公式 都不需要遍历
//我的代码:
int missingNumber(int* nums, int numsSize) {int ret = 0;int sum = 0;for (int i = 0; i < numsSize; i++) {scanf("%d", &nums[i]);ret = ret ^ nums[i];ret = ret ^ i;}ret = ret ^ numsSize;//思路二:// for (int i = 0; i <= numsSize; i++) {//     sum += i;// }// for (int i = 0; i < numsSize; i++) {//     scanf("%d", &nums[i]);//     sum -= nums[i];// }return ret;
}

三、牛客网

3.1 OR62 倒置字符串

题目链接
● 其实最后我觉得 这里让我混淆的最大原因就是 要考虑空格和\0两个情况 尤其是\0
● 而且感觉最难的一步就是想不到要做两步reverse就行
● 然后我肯定就顺着直接输入一个字符串的思路去想了 鹏哥给的思路是两次reverse 我就想实现他的思路
● 其实我的思路就是第一次整体reverse之后 下面肯定要有两个不断变化的指针 每次都指向首元素和末尾元素(我犯了两个错误 在交换每个元素的时候 一个是没有考虑最后一个元素交换时候的\0 还有一个就是空格是不需要交换)
最终我的代码: 详细过程见语雀笔记

#include <stdio.h>
#include<string.h>void reverse(char* left, char* right) {while (left < right) {char tmp = *left;*left = *right;*right = tmp;left++;right--;}
}
int main() {char arr[100];gets(arr);//整体reversechar* left = arr;char* right = arr + strlen(arr) - 1;reverse(left, right);char* start = arr;//每次记录起始位置char* find = arr;//协助寻找末尾位置//这里必须要定义一个find 相当于临时变量的作用
//要不然的话 会修改start的值 传参就错了while (1) {//寻找末尾while (*find != ' ' && *find != '\0') {find++;}//找到了char* end = find - 1;//reverse当前锁定的元素reverse(start, end);//判断是不是最后一次reverseif (*find == '\0')break;//如果不是 更新收尾 继续reverseelse//这里的写法要小心 如果要继续找 那就是先把find++//然后再作为下一轮reverse的start的值start = ++find;}printf("%s", arr);return 0;
}

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

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

相关文章

C++ | Leetcode C++题解之第467题环绕字符串中唯一的子字符串

题目&#xff1a; 题解&#xff1a; class Solution { public:int findSubstringInWraproundString(string p) {vector<int> dp(26);int k 0;for (int i 0; i < p.length(); i) {if (i && (p[i] - p[i - 1] 26) % 26 1) { // 字符之差为 1 或 -25k;} els…

“Flash闪存”基础 及 “SD NAND Flash”产品的测试

本篇除了对flash闪存进行简单介绍外&#xff0c;另给读者推荐一种我本人也在用的小容量闪存。 自带坏块管理的SD NAND Flash&#xff08;贴片式TF卡&#xff09;&#xff0c;尺寸小巧&#xff0c;简单易用&#xff0c;兼容性强&#xff0c;稳定可靠&#xff0c;标准SDIO接口&a…

Elasticsearch基础_5.ES聚合功能

文章目录 一、数据聚合1.1、桶聚合1.1.1、单维度桶聚合1.1.2、聚合结果排序1.1.3、限定聚合范围 1.2、Metric聚合 二、聚合总结 本文只记录ES聚合基本用法&#xff0c;后续有更复杂的需求可以查看相关书籍&#xff0c;如《Elasticsearch搜索引擎构建入门与实战》 一、数据聚合…

Mybatis-plus的基础用法

文章目录 1. 核心功能1.1 配置与编写规则1.2 条件构造器1.3 自定义SQL1.4 IService接口1.4.1 Lambda方法1.4.2 批量新增 1.5 分页查询 2. 拓展功能2.1 代码生成器2.2 DB静态工具2.3 逻辑删除2.4 枚举处理器 参考 1. 核心功能 1.1 配置与编写规则 Maven依赖&#xff1a; <…

基于IOU匹配的DeepSort目标跟踪与匈牙利算法解析

在多目标跟踪任务中&#xff0c;如何将检测框与已有轨迹进行关联&#xff0c;进而维持目标的连续跟踪&#xff0c;是一个关键问题。DeepSort&#xff08;Deep Simple Online and Realtime Tracking&#xff09;是一种常用的多目标跟踪算法&#xff0c;它结合了IOU&#xff08;交…

用GPT-4o打造LLM+OS(10+实用技能),代码开源,指令曝光,科技演示惊艳全场!

目录 前言 LLM操作系统能力概况&#xff08;phidata中前5个已经实现&#xff09;&#xff1a; 可以读取/生成文本 拥有比任何单个人类更全面的知识 可以浏览互联网 可以使用现有的软件基础设施&#xff08;计算器、Python、鼠标/键盘&#xff09; 可以与其他LLMs通信 可…

无人机之飞控仿真技术篇

一、无人机飞控仿真技术的定义 无人机飞控仿真技术主要是指飞行控制系统仿真&#xff0c;它是以无人机的运动情况为研究对象&#xff0c;面向对象的复杂系统仿真。通过该技术&#xff0c;可以模拟无人机的飞行过程&#xff0c;评估飞行控制系统的性能&#xff0c;优化飞行参数&…

快速区分 GPT-3.5 与 GPT-4

问&#xff1a;鲁迅为什么暴打周树人&#xff1f; GPT3.5回答 各种稀奇古怪的理由 GPT4回答 正确区分鲁迅和周树人是同一个人 国内GPT入口 https://ai-to.cn/url/?ulihaimao

Java中注解与反射的详细介绍

注解和反射 一、注解 什么是注解&#xff1f;Annotation Override &#xff1a;表示一个方法声明打算重写超类的另一个方法声明Deprecated&#xff1a;表示不鼓励程序员使用这样的元素&#xff0c;&#xff08;此注释可以用于修饰方法&#xff0c;属性&#xff0c;类&#xf…

如何利用phpstudy创建mysql数据库

phpStudy诞生于2007年&#xff0c;是一款老牌知名的PHP开发集成环境工具&#xff0c;产品历经多次迭代升级&#xff0c;目前有phpStudy经典版、phpStudy V8&#xff08;2019版&#xff09;等等&#xff0c;利用phpstudy可以快速搭建一个mysql环境&#xff0c;接下来我们就开始吧…

[含文档+PPT+源码等]精品基于Python实现的车牌识别系统

基于Python实现的车牌识别系统背景&#xff0c;可以从以下几个方面进行详细阐述&#xff1a; 一、技术开发背景 车牌识别系统是一种基于计算机视觉技术实现的智能交通系统&#xff0c;它通过捕捉车辆的图像&#xff0c;并自动提取和识别车牌号码&#xff0c;从而实现对车辆的…

maven指定模块快速打包idea插件Quick Maven Package

问题背景描述 在实际开发项目中&#xff0c;我们的maven项目结构可能不是单一maven项目结构&#xff0c;项目一般会用parent方式将各个项目进行规范&#xff1b; 随着组件的数量增加&#xff0c;就会引入一个问题&#xff1a;我们只想打包某一个修改后的组件A时就变得很不方便…

selenium有多个frame页时的操作方法(5)

之前文章我们提到&#xff0c;在webdriver.WebDriver类有一个switch_to方法&#xff0c;通过switch_to.frame()可以切换到不同的frame页然后才再定位某个元素做一些输入/点击等操作。 比如下面这个测试网站有2个frame页&#xff1a;http://www.sahitest.com/demo/framesTest.h…

《Linux从小白到高手》理论篇:Linux的系统服务管理

值此国庆佳节&#xff0c;深宅家中&#xff0c;闲来无事&#xff0c;就多写几篇博文。本篇详细深入介绍Linux的系统服务管理。 系统服务通常在系统启动时自动启动&#xff0c;并在后台持续运行&#xff0c;为系统和用户提供特定的功能。例如&#xff0c;网络服务、打印服务、数…

Android Studio Koala Feature Drop 稳定版现已推出

作者 / Android Studio 产品经理 Sandhya Mohan Android Studio Koala Feature Drop (2024.1.2) 现已推出&#xff01;&#x1f428; &#x1f517; Android Studio https://developer.android.google.cn/studio 今年早些时候&#xff0c;我们宣布每个 Android Studio 动物版本…

vscode快速删除一行的快捷键不管用

vscode快速删除一行的快捷键 在vscode中&#xff0c;快速删除一行的快捷键是CtrlShiftk。 因为搜狗软键盘的快捷键和这个快捷键的按键是冲突了&#xff0c;所以快捷键被搜狗输入法给拦截了。把搜狗软键盘的快捷键关闭了或者修改成别的键就好了&#xff0c; 因为我不怎么用软键…

毕设分享 基于协同过滤的电影推荐系统

文章目录 0 简介1 设计概要2 课题背景和目的3 协同过滤算法原理3.1 基于用户的协同过滤推荐算法实现原理3.1.1 步骤13.1.2 步骤23.1.3 步骤33.1.4 步骤4 4 系统实现4.1 开发环境4.2 系统功能描述4.3 系统数据流程4.3.1 用户端数据流程4.3.2 管理员端数据流程 4.4 系统功能设计 …

[C#]使用纯opencvsharp部署yolov11-onnx图像分类模型

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 使用纯OpenCvSharp部署YOLOv11-ONNX图像分类模型是一项复杂的任务&#xff0c;但可以通过以下步骤实现&#xff1a; 准备环境&#xff1a;首先&#xff0c;确保开发环境已安装OpenCvSharp和必…

40条经典ChatGPT论文指令,圈定选题和进行论文构思

目录 1、用ChatGPT圈定选题范围2、用ChatGPT生成研究方法和思路3、用ChatGPT扩展论文观点和论证4、用ChatGPT辅助论文结构设计5、如何直接使用ChatGPT4o、o1、OpenAI Canvas6、OpenAI Canvas增强了啥&#xff1f;7、编程功能增强 &#x1f447; ChatGPT o1网页入口在文末&#…

Python简介与入门

如果你要用计算机做很多工作&#xff0c;最后你会发现有一些任务你更希望用自动化的方式进行处理。比如&#xff0c;你想要在大量的文本文件中执行查找/替换&#xff0c;或者以复杂的方式对大量的图片进行重命名和整理。也许你想要编写一个小型的自定义数据库、一个特殊的 GUI …