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

每日刷题-2

目录

一、选择题

二、编程题

1、倒置字符串

2、排序子序列

3、字符串中找出连续最长的数字串

4、数组中出现次数超过一半的数字



一、选择题

1、

题目解析:

二维数组初始化的一般形式是:

数据类型 数组名[常量表达式1][常量表达式2] = {初始化数据};

其中,常量表达式1和常量表达式2分别表示数组的行数和列数,初始化数据用花括号括起来,每一行的数据用逗号分隔,每一行的末尾可以加上分号。如果初始化数据的个数少于数组的元素个数,那么剩余的元素会被自动赋值为0。如果省略常量表达式1,那么编译器会根据初始化数据的个数自动推断出数组的行数。如果省略常量表达式2,那么编译器会报错。故答案为B。

2、

题目解析:(1)使用return语句返回一个包含多个值的结构体或者数组;

(2)使用指针或者引用作为函数的形参,通过修改指针或者引用指向的变量来返回多个值;

(3)使用静态变量或者全局变量来存储多个返回值,然后在主调函数中访问它们。

其中,第一种方法和第二种方法是比较常见和推荐的,因为它们可以保证函数的封装性和可重用性,也可以避免潜在的错误和冲突。第三种方法是不建议使用的,因为它会破坏函数的封装性和可重用性,也会增加程序的复杂度和维护成本。

3、

题目解析:int *p[4].是一个指针数组..它表示一个含有4个元素的数组每个元素都是一个指向int类型的指针。由于“[]”的优先级高于“*”,所以p先和“[]”结合再和“*”结合,所以答案为C。

4、

题目解析:long long类型在32位机器上占用8个字节,也就是64位1;little endian表示低位字节存放在低地址,高位字节存放在高地址。当printf函数打印一个long long类型的变量时,它会把这个变量的8个字节分成两个4字节的部分,然后从低地址处开始读取第一个部分,再读取第二个部分。每个部分都可以看作一个int类型的数。因此,变量a的值为1,在内存中的存储方式为01 00 00 00 00 00 00 00,其中01是低位字节,存放在低地址处。当printf函数打印a时,它会从低地址处开始读取4个字节,也就是01 00 00 00,转换为十进制就是1。注意了,此时a还有4个字节没有被读取,打印b的时候,变量b的值为2,在内存中的存储方式为02 00 00 00 00 00 00 00,其中02是低位字节,存放在低地址处。当printf函数打印b时,它会从低地址处开始读取4个字节,也就是02 00 00 00,但是因为前面的4个字节,所以02变成了第五个字节,所以打印出来是0变量c的值为3,在内存中的存储方式为03 00 00 00 00 00 00 00,其中03是低位字节,存放在低地址处。当printf函数打印c时,它会从低地址处开始读取4个字节,也就是03 00 00 00,转换为十进制就是2。这是因为03是第9个字节,而不是第一个字节,所以它的权值为2。

二、编程题

1、倒置字符串

分析题目:先将整个字符串逆置过来,再遍历字符串,找出每个单词,对单词逆置。这里我们使用了stl算法中的reverse,所以这里使用迭代器遍历string。

代码如下:

#include <iostream>
#include<string>
#include<algorithm>
using namespace std;int main() {string str;while (getline(cin, str)) {reverse(str.begin(), str.end()); //整体逆置auto start = str.begin();while (start != str.end()) {auto end = start;while (*end != ' ' && *end != '\0') {end++;}reverse(start, end);if (end != str.end())start = end + 1;elsestart = end;}cout << str << endl;}}

知识点:begin()函数返回一个迭代器,指向字符串的第一个元素。例如,如果有一个字符串string str= "He11o";,那么str.begin()就指向'H’这个字符。end()函数返回一个迭代器,指向字符串的末尾(最后一个字符的下一个位置)。例如,如果有一个字符串string str = "Hello";,那么str.end()就指向'\0’这个空字符,它是字符串的结束标志。这两个函数的范围是左闭右开的,也就是说,它们包含了字符串的第一个元素,但不包含最后一个元素

reverse 函数的范围是左闭右开的,也就是说,它包含了start指向的元素,但不包含指向end的元素。这个范围可以用中括号表示为[start,end)。例如,如果有一个数组int arr [] = (1,2,3,4,5};,那么reverse (arr + 1, arr + 4);就会翻转数组索引[1,4)的区域,也就是2,3,4这三个元素,翻转后的数组变为{1,4,3,2,5}。

2、排序子序列

题目分析:非递减就是a[i]<=a[i+1],递减就是a[i]>a[i+1],非递增就是a[i]>=a[i+1],递增就是a[i]<a[i+1]。

  • 首先,我们需要定义一个flag变量,用来记录当前的排序状态,初始值为0。如果flag为0,表示还没有确定排序状态;如果flag为1,表示当前是非递减排序;如果flag为-1,表示当前是非递增排序。
  • 然后,我们遍历数组A,比较相邻的两个元素的大小关系。如果A[i] < A[i+1],表示当前是升序;如果A[i] > A[i+1],表示当前是降序;如果A[i] == A[i+1],表示当前没有变化。
  • 接下来,我们根据flag的值和当前的大小关系来判断是否需要分割子序列。如果flag为0,表示还没有确定排序状态,那么我们就根据当前的大小关系来更新flag的值,并且不需要分割子序列。如果flag为1,表示当前是非递减排序,那么我们就判断当前是否是降序,如果是降序,那么我们就需要分割子序列,并且把flag的值更新为-1;如果不是降序,那么我们就不需要分割子序列。如果flag为-1,表示当前是非递增排序,那么我们就判断当前是否是升序,如果是升序,那么我们就需要分割子序列,并且把flag的值更新为1;如果不是升序,那么我们就不需要分割子序列。
  • 最后,我们统计分割出来的子序列的个数,就是最少可以把数组A分为几段排序子序列的答案
  • 代码如下:
#include <iostream>
#include<vector>
using namespace std;int main() {int n = 0;while (cin >> n) {vector<int> list;int count = 1;int flag = 0;list.resize(n);for (int i = 0; i < n; i++) {cin >> list[i];}for (int i = 0; i < n - 1; i++) {if (flag == 0) {if (list[i] == list[i + 1])continue;else if (list[i] < list[i + 1])flag = 1;else flag = -1;} else if (flag == 1) {if (list[i] > list[i + 1]) {count++;flag = 0;}} else {if (list[i] < list[i + 1]){count++;flag = 0;}}}cout << count << endl;}
}

3、字符串中找出连续最长的数字串

题目分析:遍历字符串,使用cur去记录连续的数字串,如果遇到不是数字字符,则表示一个连续的数字串结束了,则将数字串跟之前的数字串比较,如果更长,则更新更长的数字串更新到res。

#include <iostream>
#include<string>
#include<algorithm>using namespace std;int main() {string str, res, cur;cin>>str;for (int i = 0; i < str.length()+1; i++) {if (str[i] >= '0' && str[i] <= '9') {cur += str[i];} else {// 找出更长的字符串,则更新字符串if (res.size() < cur.size())res = cur;elsecur.clear();}}cout<<res;}

4、数组中出现次数超过一半的数字

题目分析:

思路一:数组排序后,如果符合条件的数存在,则一定是数组中间那个数。这种方法虽然容易理解,但由于涉及到快排sort,其时间复杂度为O(NlogN)并非最优;

lass Solution {public:int MoreThanHalfNum_Solution(vector<int>& numbers) {sort(numbers.begin(), numbers.end());int middle = numbers[numbers.size() / 2];int count = 0; // 出现次数for (int i = 0; i < numbers.size(); ++i) {if (numbers[i] == middle) ++count;}return (count > numbers.size() / 2) ? middle : 0;}
};

思路二:就是出现次数超过数组长度一半的那个数字
如果两个数不相等,就消去这两个数,最坏情况下,每次消去一个众数和一个非众数,那么如果存在众数,最后留下的数肯定是众数。

class Solution {public:int MoreThanHalfNum_Solution(vector<int>& numbers) {int times=1;int result=numbers[0];for(int i=1;i<numbers.size();i++){if(numbers[i]!=result){if(times==0){result=numbers[i];}else{times--;}   }else {times++;result=numbers[i];}}
return result;}
};

相关文章:

每日刷题-2

目录 一、选择题 二、编程题 1、倒置字符串 2、排序子序列 3、字符串中找出连续最长的数字串 4、数组中出现次数超过一半的数字 一、选择题 1、 题目解析&#xff1a; 二维数组初始化的一般形式是&#xff1a; 数据类型 数组名[常量表达式1][常量表达式2] {初始化数据}; 其…...

AOSP内置搜狗输入并设置默认输入法

前期准备 AOSP分支&#xff1a;aosp13_r7 系统版本&#xff1a;Ubuntu 22.04.1 LTS 工具&#xff1a;手&#xff0c;vscode&#xff0c;winscp(因为我是用的服务器编译) 下载搜狗输入法 思路&#xff1a; 1.集成搜狗输入法到aosp 2.删除系统输入法 3.设置搜狗输入法为默…...

ICCV 2023|通过慢学习和分类器对齐在预训练模型上进行持续学习

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 作者介绍 张耕维 悉尼科技大学在读博士生&#xff0c;研究方向为持续学习 报告题目 通过慢学习和分类器对齐在预训练模型上进行持续学习 内容简介 持续学习研究的目标在于提高模型利用顺序到达的数据进行学习的…...

蓝桥杯打卡Day5

文章目录 日志排序重复者 一、日志排序IO链接 本题思路:本题就是根据就是排序的知识点&#xff0c;在sort内部可以使用仿函数来改变此时排序规则。 #include <bits/stdc.h>const int N10010; int n; std::string logs[N];int main() {std::ios::sync_with_stdio(false)…...

QT for andriod

QT for andriod 开发 apk软件&#xff0c;因为一些特殊的原因&#xff0c;在这里简单的记录一哈自己开发apk的流程和心得。 首先说明我采用的环境有哪些&#xff1f; 1、QT的版本&#xff0c;个人建议5.15.2的版本及以上&#xff0c;我是用的5.15.2。 2、andriod studio 可以…...

【广州华锐互动】AR技术在配电系统运维中的应用

随着科技的不断发展&#xff0c;AR(增强现实)技术逐渐走进了我们的生活。在电力行业&#xff0c;AR技术的应用也为巡检工作带来了许多新突破&#xff0c;提高了巡检效率和安全性。本文将从以下几个方面探讨AR配电系统运维系统的新突破。 首先&#xff0c;AR技术可以实现虚拟巡检…...

TiDB 一栈式综合交易查询解决方案获“金鼎奖”优秀金融科技解决方案奖

日前&#xff0c;2023“金鼎奖”评选结果揭晓&#xff0c; 平凯星辰&#xff08;北京&#xff09;科技有限公司研发的 TiDB 一栈式综合交易查询解决方案获“金鼎奖”优秀金融科技解决方案奖 &#xff0c; 该方案已成功运用于 多家国有大行、城商行和头部保险企业 。 此次获奖再…...

《网络是怎样连接的》(六)

本文主要取材于 《网络是怎样连接的》 第六章。 目录 6.1 服务器概览 6.2 服务器的接收操作 6.3 Web服务器程序解释请求消息并作出响应 6.4 浏览器接收响应消息并显示内容 简述&#xff1a;本文主要内容是解释 网络包到达服务器之后&#xff0c;如何给客户端响应的。 服务…...

2023年高教社杯数学建模国赛 赛题浅析

2023年国赛如期而至&#xff0c;为了方便大家尽快确定选题&#xff0c;这里将对赛题进行浅析&#xff0c;以分析赛题的主要难点、出题思路以及选择之后可能遇到的难点进行说明&#xff0c;方便大家尽快确定选题。 难度排序 B>A>C 选题人数 C>A>B (预估结果&…...

使用QT操作Excel 表格的常用方法

VBA 简介 Microsoft Office软件通常使用VBA来扩展Windows的应用程序功能&#xff0c;Visual Basic for Applications&#xff08;VBA&#xff09;是一种Visual Basic的一种宏语言。 在VBA的参考手册中就可以看到具体函数、属性的用法&#xff0c;Qt操作Excel主要通过 QAxObj…...

vue前后端端口不一致解决方案

在config index.js文件中 引入如下代码即可 const path require(path) const devEnv require(./dev.env) module.exports {dev: {// PathsassetsSubDirectory: static,assetsPublicPath: /,proxyTable: devEnv.OPEN_PROXY false ? {} : {/api: {target: http://localhos…...

springcloudSeata处理分布式事务之1.7.0

1.5.0之后版本发生了很大改变 1.seata安装 1.1官网地址 http://seata.io/zh-cn/ 1.2下载地址 https://github.com/seata/seata/releases 下载的是seata-server-1.7.0.zip 1.3seata相关配置的修改 seata-server-1.7.0\seata\conf下的application.yml进行修改 server:por…...

每日刷题|回溯法解决全排列问题

​ 食用指南&#xff1a;本文为作者刷题中认为有必要记录的题目 前置知识&#xff1a;回溯法经典问题之组合 ♈️今日夜电波&#xff1a;爱人错过—告五人 1:11 ━━━━━━️&#x1f49f;──────── 4:52 …...

10-JVM调优工具详解

上一篇&#xff1a;09-JVM垃圾收集底层算法实现 前置启动程序 事先启动一个web应用程序&#xff0c;用jps查看其进程id&#xff0c;接着用各种jdk自带命令优化应用 1.Jmap 此命令可以用来查看内存信息&#xff0c;实例个数以及占用内存大小 jmap -histo 14660 #查看历史…...

东方博易oj——3119 - 约瑟夫问题2(链表)

文章目录 题目题目描述输入输出样例输入 输出标签 AC代码 题目 题目描述 约瑟夫问题&#xff1a;有 &#xff4e; &#xff4e; &#xff4e;只猴子&#xff0c;按顺时针方向围成一圈选大王&#xff08;编号从 &#xff11; &#xff11; &#xff11;到 &#xff4e; &#…...

C++,day0907

#include <iostream>using namespace std; struct stu { private:int num; private:double score[32];public:void setNum(){cout <<"请输入学生人数:";cin >>num;}void input(){cout<<"请输入学生的成绩:"<<endl;for(int i…...

孤儿僵尸守护进程的简单理解

孤儿进程&#xff1a; 一个父进程退出&#xff0c;而它的一个或多个子进程还在运行&#xff0c;那么那些子进程将成为孤儿进程。孤儿进程将被init进程所收养&#xff0c;并由init进程对它们完成状态收集工作。 如何模仿一个孤儿进程&#xff1a; 答案是&#xff1a; kill 父…...

学习笔记——Java入门第一季

1.1 Java的介绍与前景 Java语言最早期的制作者&#xff1a;James Gosling&#xff08;詹姆斯高斯林&#xff09; 1995年5月23日&#xff0c;Sun Microsystems公司宣布Java语言诞生。 1.2 Java的特性与版本 跨平台 开源&#xff08;开放源代码&#xff09; Java代码&#xff…...

更改注册表exe值后的惨痛经历

装软件时由于执行性文件打不开&#xff0c;搜索教程更改了exefile的值&#xff0c;最后整个电脑崩了&#xff0c;所有EXE都打不开&#xff0c;折腾了5个小时&#xff0c;什么办法都试了&#xff0c;甚至重置电脑都不让&#xff0c;打算拿电脑城修电脑了&#xff0c;突然搜到了一…...

stable diffusion实践操作-LyCORIS

系列文章目录 stable diffusion实践操作 文章目录 系列文章目录前言一、LyCORIS是什么&#xff1f;二、使用步骤1.下载2.安装3 使用 二、整理模型1.LoHa-v1.0-pynoise 总结 前言 LyCORIS&#xff0c;可以理解为lora的加强版本。 LyCORIS - Lora beYond Conventional methods,…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

前端开发者常用网站

Can I use网站&#xff1a;一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use&#xff1a;Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站&#xff1a;MDN JavaScript权威网站&#xff1a;JavaScript | MDN...

高分辨率图像合成归一化流扩展

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 1 摘要 我们提出了STARFlow&#xff0c;一种基于归一化流的可扩展生成模型&#xff0c;它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流&#xff08;TARFlow&am…...