AI刷题-数位长度筛选问题、数值生成与运算问题

news2025/1/13 4:48:09

目录

一、数位长度筛选问题

问题描述

测试样例

解题思路:

问题理解

数据结构选择

算法步骤

关键点

 

最终代码: 

运行结果: 

二、数值生成与运算问题 

问题描述

测试样例

解题思路: 

问题理解

数据结构选择

算法步骤

最终代码: 

运行结果:​编辑 


一、数位长度筛选问题

问题描述

在一个神秘的探险中,年轻的探险家小乐发现了一箱宝藏,箱子里装满了各式各样的神秘符文,每个符文都代表一个整数。他对这些符文的特性产生了极大的好奇,尤其是关于它们的长度。

小乐决定只关注那些符文位数为偶数的,想要统计出这样的符文有多少个。你的任务是帮助小乐计算出长度为偶数的符文数量,并给出最终的统计结果。


测试样例

样例1:

输入:nums = [12, 345, 2, 6, 7896]
输出:2

样例2:

输入:nums = [555, 901, 482, 1771]
输出:1

样例3:

输入:nums = [1, 22, 333, 4444]
输出:2

解题思路:

问题理解

你需要统计一个整数数组中,长度为偶数的整数的数量。这里的“长度”指的是整数的位数。

数据结构选择

  • 你已经有了一个整数数组 nums,这个数组中的每个元素都是一个整数。

算法步骤

  1. 遍历数组:你需要遍历数组中的每一个整数。
  2. 计算位数:对于每一个整数,你需要计算它的位数。
  3. 判断偶数位:判断这个整数的位数是否为偶数。
  4. 统计结果:如果位数是偶数,则增加计数器。
  5. 返回结果:最后返回计数器的值。

关键点

  • 如何计算一个整数的位数?
    • 可以通过将整数转换为字符串,然后计算字符串的长度。
    • 或者通过不断除以10,直到整数变为0,统计除法的次数。

 

最终代码: 

#include <iostream>
#include <vector>
using namespace std;

int solution(std::vector<int> nums) {
    // PLEASE DO NOT MODIFY THE FUNCTION SIGNATURE
    // write code here
    int count = 0; // 用于统计符合条件的整数数量

    for (int num : nums) {
        // 计算当前整数的位数
        int digits = 0;
        int temp = num;
        while (temp != 0) {
            temp /= 10;
            digits++;
        }

        // 判断位数是否为偶数
        if (digits % 2 == 0) {
            count++;
        }
    }

    return count; // 返回统计结果
}

int main() {
    cout << (solution({12, 345, 2, 6, 7896}) == 2) << endl;
    cout << (solution({555, 901, 482, 1771}) == 1) << endl;
    cout << (solution({1, 22, 333, 4444}) == 2) << endl;
    return 0;
}

运行结果: 

 

二、数值生成与运算问题 

问题描述

已知 n 和 start,计算 start xor (start + 2) xor (start + 4) ... xor (start + n + n - 2)


测试样例

样例1:

输入:n = 12, start = 3
输出:24

样例2:

输入:n = 20, start = 16
输出:0

样例3:

输入:n = 18, start = 9
输出:2

样例4:

输入:n = 7, start = 1
输出:15

解题思路: 

 

问题理解

你需要计算一系列数的异或结果。具体来说,给定两个整数 n 和 start,你需要计算以下表达式的结果:
[ \text{result} = \text{start} \oplus (\text{start} + 2) \oplus (\text{start} + 4) \oplus \ldots \oplus (\text{start} + 2(n-1)) ]

数据结构选择

这个问题不需要复杂的数据结构,只需要一个变量来存储当前的异或结果。

算法步骤

  1. 初始化结果变量:将结果变量初始化为 start
  2. 循环计算异或:从 start + 2 开始,每次增加 2,直到 start + 2(n-1),将每个数与结果变量进行异或操作。
  3. 返回结果:循环结束后,结果变量中存储的就是最终的异或结果。

最终代码: 

#include <iostream>
using namespace std;

int solution(int n, int start) {
    // PLEASE DO NOT MODIFY THE FUNCTION SIGNATURE
    // write code here
    
    // 初始化结果变量为 start
    int result = start;
    
    // 循环从 start + 2 开始,每次增加 2,直到 start + 2(n-1)
    for (int i = 1; i < n; ++i) {
        // 计算当前值并进行异或操作
        result = result ^ (start + 2 * i);
    }
    
    // 返回最终的异或结果
    return result;
}

int main() {
    cout << (solution(12, 3) == 24) << endl;
    cout << (solution(20, 16) == 0) << endl;
    cout << (solution(18, 9) == 2) << endl;
    cout << (solution(7, 1) == 15) << endl;
    return 0;
}

运行结果: 

 

 

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

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

相关文章

算法学习(24)—— BFS解决拓扑排序

关于拓扑排序 ①有向无环图&#xff08;DAG图&#xff09; 就跟它的名字一样&#xff0c;有方向但是没有环的图&#xff0c;如下图&#xff1a;我们了解下入度和出度&#xff0c;二者都是针对一个点来说的&#xff0c;就以上图为例入度&#xff1a;表示有多少条边指向一个点&am…

【深度学习入门_基础篇】概率论

开坑本部分主要为基础知识复习&#xff0c;新开坑中&#xff0c;学习记录自用。 学习目标&#xff1a; 随机事件与概率、随机变量及其分布、多维随机变量及其分布、大数定律与中心极限定理。 强烈推荐此视频&#xff1a; 概率论_麻省理工公开课 废话不多说&#xff0c;直接…

Gitlab-Runner配置

原理 Gitlab-Runner是一个非常强大的CI/CD工具。它可以帮助我们自动化执行各种任务&#xff0c;如构建、测试和部署等。Gitlab-Runner和Gitlab通过API通信&#xff0c;接收作业并提交到执行队列&#xff0c;Gitlab-Runner从队列中获取作业&#xff0c;并允许在不同环境下进行作…

多并发发短信处理(头条项目-07)

1 pipeline操作 Redis数据库 Redis 的 C/S 架构&#xff1a; 基于客户端-服务端模型以及请求/响应协议的 TCP服务。客户端向服务端发送⼀个查询请求&#xff0c;并监听Socket返回。通常是以 阻塞模式&#xff0c;等待服务端响应。服务端处理命令&#xff0c;并将结果返回给客…

OSPF - 1类LSA(Router-LSA)

前篇博客有对常用LSA的总结 1类LSA是OSPF计算最原始的材料&#xff0c;他会泛洪发给所有的路由器 LSA是包含在LSU中的&#xff0c;一条LSU能够携带多条LSA options位所有LSA都会有&#xff0c;用于标记起源于什么类型的区域&#xff0c;具体查看文章【邻居建立】 flags位是一…

pdf提取文本,表格以及转图片:spire.pdf

文章目录 &#x1f412;个人主页&#xff1a;信计2102罗铠威&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380; 1. pdfbox1.1导入pdfbox 的maven依赖1.1 提取文本1.2 提取文本表格&#xff08;可自行加入逻辑处理&#xff09;1.3 pdf转换成图片代码&…

_STM32关于CPU超频的参考_HAL

MCU: STM32F407VET6 官方最高稳定频率&#xff1a;168MHz 工具&#xff1a;STM32CubeMX 本篇仅仅只是提供超频&#xff08;默认指的是主频&#xff09;的简单方法&#xff0c;并未涉及STM32超频极限等问题。原理很简单&#xff0c;通过设置锁相环的倍频系数达到不同的频率&am…

图片和短信验证码(头条项目-06)

1 图形验证码接口设计 将后端⽣成的图⽚验证码存储在redis数据库2号库。 结构&#xff1a; {img_uuid:0594} 1.1 创建验证码⼦应⽤ $ cd apps $ python ../../manage.py startapp verifications # 注册新应⽤ INSTALLED_APPS [django.contrib.admin,django.contrib.auth,…

解决idea中无法拖动tab标签页的问题

1、按 Ctrl Alt S 打开设置&#xff0c;找到路径 File | Settings | Appearance & Behavior | Appearance 2、去掉勾选 Drag-and-drop with Alt pressed only 即可

单片机(MCU)-简单认识

简介&#xff1a; 内部集成了CPU&#xff0c;RAM&#xff0c;ROM&#xff0c;定时器&#xff0c;中断系统&#xff0c;通讯接口等一系列电脑的常用硬件功能。 单片机的任务是信息采集&#xff08;依靠传感器&#xff09;&#xff0c;处理&#xff08;依靠CPU&#xff09;&…

QT c++ 样式 设置 按钮(QPushButton)的渐变色美化

上一篇文章中描述了标签的渐变色美化,本文描述按钮的渐变色美化。 1.头文件 #ifndef WIDGET_H #define WIDGET_H #include <QWidget> //#include "CustomButton.h"#include <QVBoxLayout> #include <QLinearGradient> #include <QPushButton&…

【物流管理系统 - IDEAJavaSwingMySQL】基于Java实现的物流管理系统导入IDEA教程

有问题请留言或私信 步骤 下载项目源码&#xff1a;项目源码 解压项目源码到本地 打开IDEA 左上角&#xff1a;文件 → 新建 → 来自现有源代码的项目 找到解压在本地的项目源代码文件&#xff0c;点击确定&#xff0c;根据图示步骤继续导入项目 查看项目目录&#xff…

【数据结构-堆】【二分】力扣3296. 移山所需的最少秒数

给你一个整数 mountainHeight 表示山的高度。 同时给你一个整数数组 workerTimes&#xff0c;表示工人们的工作时间&#xff08;单位&#xff1a;秒&#xff09;。 工人们需要 同时 进行工作以 降低 山的高度。对于工人 i : 山的高度降低 x&#xff0c;需要花费 workerTimes…

如何用SQL语句来查询表或索引的行存/列存存储方式|OceanBase 用户问题集锦

一、问题背景 自OceanBase 4.3.0版本起&#xff0c;支持了列存引擎&#xff0c;允许表和索引以行存、纯列存或行列冗余的形式创建&#xff0c;且这些存储方式可以自由组合。除了使用 show create table命令来查看表和索引的存储类型外&#xff0c;也有用户询问如何通过SQL语句…

CDA数据分析师一级经典错题知识点总结(3)

1、SEMMA 的基本思想是从样本数据开始&#xff0c;通过统计分析与可视化技术&#xff0c;发现并转换最有价值的预测变量&#xff0c;根据变量进行构建模型&#xff0c;并检验模型的可用性和准确性。【强调探索性】 2、CRISP-DM模型Cross Industry Standard Process of Data Mi…

算法题(32):三数之和

审题&#xff1a; 需要我们找到满足以下三个条件的所有三元组&#xff0c;并存在二维数组中返回 1.三个元素相加为0 2.三个元素的下标不可相同 3.三元组的元素不可相同 思路&#xff1a; 混乱的数据不利于进行操作&#xff0c;所以我们先进行排序 我们可以采取枚举的方法进行解…

【设计模式】介绍常见的设计模式

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 ✨ 介绍一下常见的设计模式✨ Spring 中常见的设计模式 这期内容主要是总结一下常见的设计模式&#xff0c;可…

单通道串口服务器(三格电子)

一、产品介绍 1.1 功能简介 SG-TCP232-110 是一款用来进行串口数据和网口数据转换的设备。解决普通 串口设备在 Internet 上的联网问题。 设备的串口部分提供一个 232 接口和一个 485 接口&#xff0c;两个接口内部连接&#xff0c;同 时只能使用一个口工作。 设 备 的网 口…

【蓝牙】win11 笔记本电脑连接 hc-06

文章目录 前言步骤 前言 使用电脑通过蓝牙添加串口 步骤 设置 -> 蓝牙和其他设备 点击 显示更多设备 更多蓝牙设置 COM 端口 -> 添加 有可能出现卡顿&#xff0c;等待一会 传出 -> 浏览 点击添加 hc-06&#xff0c;如果没有则点击 再次搜索 确定 添加成…

信息安全、网络安全和数据安全的区别和联系

信息安全、网络安全和数据安全是信息安全领域的三大支柱&#xff0c;它们之间既存在区别又相互联系。以下是对这三者的详细比较&#xff1a; 一.区别 1.信息安全 定义 信息安全是指为数据处理系统建立和采用的技术和管理的安全保护&#xff0c;保护计算机硬件、软件和数据不…