[编程题] 翻转数列--附详细分析思路

牛客 剑指offer_编程题 详细题解 (已完结) 文章目录剑指offer_编程题【1.二维数组中的查找】【2.替换空格】C++JAVA【3.从尾到头打印链表】【4.重建二叉树】【5.用两个栈实现队列】【6.旋转数组的最小数字】暴力Sort二分法【7.斐波那契数列】【8.跳台阶】【9.变态跳台阶】 剑指offer_编程题 【1.二维数组中的查找】 【题目描述】 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都... 阅读详情

今天逛博客看到这样一道题

翻转数列

小Q定义了一种数列称为翻转数列:
给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。
例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8.
而n = 4, m = 1, 数列就是: -1, +2, -3, + 4.
小Q现在希望你能帮他算算前n项和为多少。 

输入描述:

输入包括两个整数n和m(2 <= n <= 109, 1 <= m), 并且满足n能被2m整除。

输出描述:

输出一个整数, 表示前n项和。

输入例子1:

8 2

输出例子1:

8

通过读题不难发现:在一个数列中求前n项的和与m,n的关系

我们先来分析一下数组,递增的,连续.每过m个数,符号翻转一次,前n项翻转 n/m 次 即是说我们把n分成了n/m段

仔细分析每次翻转,我们可以发现 我们可以将"连续的-"号和"+"号的二段合并一下求值  那么前n项就被分成了n/2m 

那么我们来看一下 一段"连续的-"号和"+" 的和是多少 拿第一个加号值加上第一个减号值,差值刚好是m,在这一段数字中 恰好有m个m

以 n = 8, m = 2, 数列是: -1, -2, +3, +4, -5, -6, +7, +8.为例

将数组看成-1, -2, +3, +4 和-5, -6, +7, +8组合而成

前一部分3-1+4-2=4

后一部分7-5+8-6=4

(8/(2*2))*2*2 = 8

于是得出公式

前n项的和为 (n/2m)*mm

字节跳动大数据开发编程题集合 编程题来源于牛客网的面经 让写一个二叉树最长路径和,返回这个路径和中最大和的那些节点 思路:递归。当前节点的最大贡献值(路径和) = 当前节点值 + 左子树最大贡献 + 右子树最大贡献 使用队列实现栈的的过程 思路:栈的add, pop操作 小和问题 思路:归并排序 https://blog.youkuaiyun.com/qq_34761012/article/details/104859991 判断平衡二叉树 思路:递归。先通过递归和hashmap获得每个节点为根的高度depth = max(left 阅读详情

相关推荐

【拯救C盘】一文搞懂Windows修改Anaconda默认的虚拟环境存放路径及其原理

Anaconda创建的虚拟环境可能会默认保存在C盘,但C盘的存储空间很宝贵,由于每个虚拟环境的大小可能达到n个GB,稍不注意就会遇到C盘红色警告。因此有必要做点什么来拯救被虚拟环境占用的大部分空间!!!

Roach007的博客 3万+

Python:数列翻转

【问题描述】 编写程序,对列表中的数据进行翻转转换,即将数组中第一个数和最后一个数交换、第二个数和倒数第二个数交换,依此类推。 建议使用列表的reverse方法。在搜索引擎输入“python reverse”可以检索到该方法的用法描述。 【输入形式】 数组元素的个数(n) 以及n个整数,采用空格隔开它们 【输出形式】 交换以后的数组,采用空格隔开它们 【样例输入】 4 1 2 3 4 【样例输出】 4 3 2 1 a=list(map(int,input().split())) de

WQ的博客 6943

Qt 侧边菜单栏+堆叠窗口stackedWidget

效果如下:环境:Qt 6.6.2 MSVC2019 64bit。

weixin_41033231的博客 1568

数列翻转 华中农业大学 Python

编写程序,对列表中的数据进行翻转转换,即将数组中第一个数和最后一个数交换、第二个数和倒数第二个数交换,依此类推。 a = input() b = [] for i in a.split(): b.append(int(i)) c = b[::-1] print(" ".join(str(i) for i in c)) ...

Qianier的博客 2598

PX4飞控神经网络控制:从仿真到嵌入式部署实战

神经网络控制正逐步革新传统PID在无人机领域的统治地位。通过将深度学习模型部署到PX4飞控硬件,实现了从传感器数据直接生成电机指令的端到端控制。这种架构依赖TensorFlow Lite Micro等轻量级推理框架,在STM32等嵌入式处理器上可达到93μs级推理速度。关键技术突破包括:基于NVIDIA Isaac Gym的高效仿真训练、模型量化压缩技术(如8位整数量化)、以及与PX4原生安全架构的无缝集成。该方案在mRobotics Pixracer Pro等硬件上验证了可行性,为无人机姿态控制、视觉导航

weixin_30570101的博客 404

LLM的MCP协议:初识MCP,搭建第一个MCP Server

MCP(Model Context Protocol),是一个开发的协议,标准化了应用程序如何为大模型提供上下文。MCP提供了一个标准的为LLM提供数据、工具的方式,使用MCP会更容易的构建Agent或者是基于LLM的复杂工作流。

Criss@陈磊 2万+

[编程题一] 翻转数列

代码二:观察数据特征发现每两个数字分为一组。对于一串连续递增整数数列。代码三:数据量超过了数据范围。定义了一种数列称为翻转数列。现在希望你能帮他算算前。每组的数字之和正好就是。

ljy的博客 369

基于YOLOv11的军事目标识别系统设计与实现(坦克、舰船检测)

DOTA-v2.0(包含多种军事装备的航拍图像)图片数量:11,268类别:18类,包括坦克、舰船、战斗机等分辨率:800×800~4000×4000HRSC2016(高分辨率舰船检测数据集)图片数量:1,061类别:舰船及子类特点:包含多种视角和复杂背景图片数量:5,000+类别:22种军用飞机标注:精确边界框自建数据集建议收集来源:公开军事演习视频、卫星图像、模拟游戏截图数据增强:模拟不同天气、遮挡、低光照等战场环境。

YOLO 450

谷歌Gemini定制芯片揭秘:十倍能效背后的AI算力革命

AI芯片作为人工智能基础设施的核心组件,其设计理念正从通用计算转向专用优化。通过软硬件协同设计原理,定制化芯片能够针对特定AI工作负载进行深度优化,实现计算效率的显著提升。这种技术路线的价值在于突破传统通用芯片的能效瓶颈,为大规模AI模型部署提供更经济的解决方案。在AI推理、边缘计算等应用场景中,定制芯片通过优化内存访问模式、精简指令集架构、支持低精度计算等技术手段,大幅降低功耗成本。以谷歌为Gemini大模型定制的专用芯片为例,其采用的粗粒度数据流架构和近内存计算技术,有望实现相比传统TPU十倍的能效提升

weixin_33834137的博客 414

华为数通方向HCIP-DataCom H12-831题库(多选题:121-140)

华为数通HCIP H12-831多选题

didiplus 1291

1、深入解析OTA/gm - C滤波器架构与设计

本文深入探讨了OTA/gm-C滤波器的架构与设计方法,涵盖了从基本构建模块到高阶滤波器实现的多种技术。重点分析了双积分器环路结构(如Tow-Thomas和KHN滤波器)的工作原理、性能特点及OTA非理想特性对滤波器的影响,并介绍了降低寄生效应、提升动态范围的方法。文章还讨论了基于LC梯形仿真、多环反馈和电流模式的gm-C滤波器设计,以及自动调谐技术在频率稳定性中的应用。最后总结了不同类型gm-C滤波器的优缺点及其适用场景,为高频集成连续时间滤波器的设计提供了全面的技术参考。

fanta的博客 187

翻转数列

题目描述 小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4…, 每隔m个符号翻转一次, 最初符号为’-’;。 例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8. 而n = 4, m = 1, 数列就是: -1, +2, -3, + 4. 小Q现在希望你能帮他算算前n项和为多...

Qingmou's_blog 423

Java炫酷烟花③(完整代码)

Java语言实现炫酷烟花动画的完整代码。 下载代码 下载链接:我是一只有趣的兔子,感谢你的喜欢。

AIGC 784

[编程题] 翻转数列

时间限制:1秒 空间限制:32768K 小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。 例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8. 而n = 4, m = 1, 数列就是: -1, +2, -3, + 4. ...

qq_39283195的博客 580

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

牛客网 网易秋招试题------[编程题]翻转翻转

题目描述: 题目链接 给定一个N*M的矩阵,在矩阵中每一块有一张牌,我们假定刚开始的时候所有牌的牌面向上。 现在对于每个块进行如下操作: > 翻转某个块中的牌,并且与之相邻的其余八张牌也会被翻转。 XXX XXX XXX 如上矩阵所示,翻转中间那块时,这九块中的牌都会被翻转一次。 请输出在对矩阵中每一块进行如上操作以后,牌面向下的块的个数。 输入描述: 输入的第一行为测试...

八面玲珑 913

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

腾讯 翻转数列

很坑爹,把int换成long long 数据类型的就可以了!

drewings的博客 503

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[牛客网]翻转数列

[编程题]翻转数列 小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。 例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8. 而n = 4, m = 1, 数列就是: -1, +2, -3, + 4. 小Q现在希望你能帮他算...

MissXy_的博客 489

腾讯2018春招技术类编程题

目录 1.翻转数列 2.纸牌游戏 3.贪吃的小Q 4.小Q的歌单 5、安排机器 6、画家小Q 1.翻转数列 小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。 例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6,...

ymszzu的博客 635

腾讯2018春招技术类编程题汇总

一:翻转数列 题目描述 小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4…, 每隔m个符号翻转一次, 最初符号为’-’;。 例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8. 而n = 4, m = 1, 数列就是: -1, +2, -3, + 4. 小Q现在希望你能帮他算算前n项和为多少。 样例 输入例子1: 8 2 输出例子1: 8 思路    &

正月看雪花的博客 400

【每日一题014】腾讯2018春招技术类编程题汇总-1

目录题目思路相关思考代码(C++/原创) 题目 题目来源 思路 相关思考 代码(C++/原创)

qq_42799166的博客 311

编程题--求翻转数列的前n项和

方法一:用数组,判断正负,逐一相加; 方法二:分析后,发现所求和为sum = n * m/2; 则: 即可。

Constantdropping的博客 682

【牛客网】腾讯2018春招技术类编程题汇总

1-翻转数列 思路 感觉此道题有点找规律,取数据的时候,按奇偶性进行选取,但我这种方法只能过60% 代码 #include<iostream> using namespace std; //过60% int main() { long long n, m; while (cin >> n >> m) { long long sum = 0; for (long long i = 1; i <= n; i++) { if ((i - 1) / m %

Do Better 600

记一次腾讯实习招聘(笔试)

前言序锦: 没有过多的想法,只是抱着试一试的心态去做的,因为俺们可是一只考研猿,所以现在没有过多的准备面经之类的东西,更可气的是自己竟然连时间也差点错过了,留给我的时间就只有短短37分钟!不过还是硬着头皮去做了,毕竟有这么一次机会再怎么不能放弃! 正文: 招聘公司:腾讯 招聘岗位:技术研发类 招聘时间:2018年4月5号下午15:00-17:00 ...

以归零之心,走在智能时代前列 753

java编程两个超长正整数相减_腾讯校招技术类编程题解(一)

翻转数列题干时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M小Q定义了一种数列称为翻转数列:给定整数n和m, 满足n能被2*m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8.而n = 4, m = 1,...

weixin_34161139的博客 276

力扣编程题-解法汇总

力扣首页编程题解法汇总。一周10题左右的进度

分享+记录 7120

剑指Offer编程题

 1.题目:二维数组中的查找    在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解法:从二维数组的左下角开始比较,令 i = n - 1 , j = 0;(假设数组为a,i为要比较的行号,j为列号),当目标值与a[i][j],比较的时候,如果等于目标值则结束,如果目标值小于a[...

Muti-Agent 2482
上一篇: 基于数据驱动设计复杂页面
下一篇: Nodejs实现图片上传,链接保存到Mongodb数据库
拿我格子衫来
拿我格子衫来 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄10年 6万+粉丝 858原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿我格子衫来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值