码蹄集丨等差

2023-10-31 13:50
文章标签 码蹄集

本文主要是介绍码蹄集丨等差,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目来源:码蹄集

题目介绍:

在这里插入图片描述
在这里插入图片描述

B站老师思路讲解:https://www.bilibili.com/video/BV1vY411B7jg/?t=1958.7&vd_source=3ae2a916df1bc5c1114c2bf3e95a2118

Python代码实现:

参考链接:https://blog.51cto.com/u_15745546/5950627

def main():#code herearr = list(map(int,input().split()))n = len(arr)dp = [0]*nfor i in range(2,n):if arr[i]-arr[i-1] == arr[i-1]-arr[i-2]:if dp[i-1] != 0:dp[i] = dp[i-1] +1else:dp[i] = 3tot = 0for i in range(2,n):if dp[i] >= 3:tot += dp[i]-3+1print(tot)if __name__ == '__main__':main();

提交测试结果:

在这里插入图片描述

C++代码实现:

#include <iostream>
#include <vector>using namespace std;int main() {vector<int> arr;int num;while (cin >> num) {arr.push_back(num);}int n = arr.size();vector<int> dp(n, 0);for (int i = 2; i < n; i++) {if (arr[i] - arr[i - 1] == arr[i - 1] - arr[i - 2]) {if (dp[i - 1] != 0) {dp[i] = dp[i - 1] + 1;} else {dp[i] = 3;}}}int tot = 0;for (int i = 2; i < n; i++) {if (dp[i] >= 3) {tot += dp[i] - 3 + 1;}}cout << tot << endl;return 0;
}

提交测试结果:

在这里插入图片描述

Java代码实现:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] input = sc.nextLine().split(" ");int[] arr = new int[input.length];for (int i = 0; i < input.length; i++) {arr[i] = Integer.parseInt(input[i]);}int n = arr.length;int[] dp = new int[n];for (int i = 2; i < n; i++) {if (arr[i] - arr[i - 1] == arr[i - 1] - arr[i - 2]) {if (dp[i - 1] != 0) {dp[i] = dp[i - 1] + 1;} else {dp[i] = 3;}}}int tot = 0;for (int i = 2; i < n; i++) {if (dp[i] >= 3) {tot += dp[i] - 3 + 1;}}System.out.println(tot);sc.close();}
}

提交测试结果:

在这里插入图片描述

这篇关于码蹄集丨等差的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/315789

相关文章

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

码蹄集部分题目(2024OJ赛8.28-9.1)

1🐋🐋都市路径(黄金;BFS) 时间限制:1秒 占用内存:64M 🐟题目思路 这道题目给的提示是使用BFS,但是使用Floyd更简单,也能过。 🐟代码 #include<bits/stdc++.h> using namespace std;int dp[105][105]={0};int main( ){int n,m,cur;cin>>n;for (int i = 1

码蹄集 BD202401 补给

错误解法:简单将取半前后的综合排序后取最小值,这样没有考虑这样一种情况:取半的时机不对,也许取半某个大一点的P之后反而能进一步取一个补给点了呢??对不对。这样简单排序只不过是“最省钱”的一种,而不是数量最多的一种。 #include<bits/stdc++.h>using namespace std;#define MAX 1005typedef struct Node{int

码蹄集部分题目(2024OJ赛19期;贪心集训)

1🐋🐋水温调节(黄金;贪心) 时间限制:1秒 占用内存:128M 🐟题目思路 贪心思路:先将两只水龙头的流速开到最大,温度高了,就把热水的流速降低一个单位,温度低了就把冷水的流速降低一个单位,当任意一个水龙头的流速小于0时结束循环。 【码蹄集进阶塔全题解08】算法基础:贪心 MT2080 – MT2092_哔哩哔哩_bilibili 🐟代码#include<bits/stdc+

码蹄集部分题目(2024OJ赛18期;并查集+ST表+贪心)

1🐋🐋史莱姆融合(钻石;并查集) 时间限制:1秒 占用内存:128M 🐟题目描述 🐟题目思路 这道题目使用并查集,同一集合的所有元素的最顶上的祖父节点是统一的。这里记录每个集合的最左端元素(最顶上的祖父节点)和最右端元素,便于集合更新。 MT3052 史莱姆融合_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> ​us

码蹄集部分题目(2024OJ赛11期)

1🐋🐋🐋银行账户(黄金;模拟) 时间限制:1秒 占用内存:128M 🐟题目描述 据说对银行账户进行盗窃时,如果只盗取小数点下的数值,就不容易引起注意,所以你决定进行尝试。 银行总共有n个账户,m次转账,对每次转账,你可以盗取(转账金额-转账金额下取整)的资金,并使转入账户的警戒值增加相同数值,当任意账户的警戒值>1,或者无法实现转账 (转出账户余额不足),或者m次转账全部完成,你

码蹄集——购买数字(附完整代码)

一.具体题目如下: 二.本题难点 1.可输入数字过大,超出了int型数据的范围;(因此无法计算不超过n的最大回文数进而得出答案),同样的输出数值也过大无法用int型变量直接输出。 2.输入有前导零,即如果n=989,则可以输入”000989“。(因此无法直接获得n的实际数值) 三.针对难点的解决办法 针对难点1:可将输入数据用字符数组(本题中命名为str[])来接收;输出也可以用数

【码蹄集新手村 600 题】逻辑思维题

题目链接:   解题思路: 此类关于逻辑思维的题目, 在程序设计题目里非常常见, 做法也非常通用, 就是列举所有可能的情况, 然后根据筛选条件把不符合条件的情况筛选掉, 剩下的就是我们要求的解。 需要注意的是: 根据生活常识以及比赛常识, 俩个人不能匹配到同样的对手, 所以要保证其匹配结果的唯一性, 即 i,j,k 三个数不可能相同。 参考代码: #incl

算法竞赛入门【码蹄集新手村600题】(MT1020-1040)C语言

算法竞赛入门【码蹄集新手村600题】(MT1020-1040)C语言 目录MT1021 %f格式符MT1022 小数、指数MT1023 进制乱炖MT1024 进制形式MT1025 八、十六进制MT1026 合并MT1027 整数逆序MT1028 四位数逆序MT1029 位数MT1030 最大公约数MT1031 最简分数MT1032 最小公倍数MT1033 多项式计算MT1034 偶数平方MT

算法竞赛入门【码蹄集新手村600题】(MT1301-1350)

算法竞赛入门【码蹄集新手村600题】(MT1301-1350) 文章目录 算法竞赛入门【码蹄集新手村600题】(MT1301-1350)前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件? 目录1. MT1301 1的补码2. MT1302 二进制转格雷码3. MT1303 格雷码转二进制4. MT1304 十进制与格雷码5. MT1305 三位数6. MT1306 牛顿迭代法7