首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
谐距下标对
[编程题]谐距下标对
热度指数:6040
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
给定一个长度为
的整数数组
。若下标满足
且
,则称
为一对
谐距下标对
。
请计算数组中的谐距下标对数量。
输入描述:
第一行输入整数
。
第二行输入
个整数
。
输出描述:
输出一个整数,表示谐距下标对数量。
示例1
输入
6 1 2 3 4 5 6
输出
15
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(84)
分享
提交结果有问题?
13个回答
22篇题解
开通博客
BraveCoder
发表于 2025-08-31 17:36:37
import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.
展开全文
满加
发表于 2025-08-21 14:06:01
C++ 一方面暴力枚举易超时,另一方面计算下标对要用 (unsigned) long long 才够用 #include <iostream> #include <map> #include <vector> using namespace std; int m
展开全文
Silencer76
发表于 2025-08-09 04:31:24
题目链接 谐距下标对 题目描述 给定一个长度为 的整数数组 。若下标对 满足 且 ,则称其为一对“谐距下标对”。 请计算数组中谐距下标对的总数量。 解题思路 本题要求我们寻找所有满足特定条件的下标对。直接使用两层循环的暴力解法时间复杂度为 ,会因超时而无法通过。我们需要找到一个更高效的数学解法
展开全文
牛客989263876号
发表于 2025-06-24 19:17:27
# n=int(input()) # print(n) # number_list=[0] # for i in list(map(int,input().split())): # number_list.append(i) # # print(number_list) # result=0
展开全文
lahm66
发表于 2025-09-12 20:13:59
将条件转化转化为ai-i=aj-j使用HashMap存储相同的,然后组合。参考:https://blog.nowcoder.net/n/8d233209d79f4a6297725d9f6f1c91d2 import java.util.Scanner; import java.util.Map;
展开全文
丨阿伟丨
发表于 2025-08-27 17:14:54
题目链接 谐距下标对 题目描述 给定一个长度为 的整数数组 。若下标对 满足 且 ,则称 为一对谐距下标对。请计算数组中的谐距下标对数量。 解题思路 这是一个计数问题,直接使用暴力法(双重循环)检查所有下标对 的时间复杂度为 ,在 较大时会超时。我们需要寻找一种更高效的解法。 核心思想:
展开全文
Kato_Shoko
发表于 2025-08-04 14:16:11
#include <bits/stdc++.h> #define il inline using namespace std; using ll = long long; using ull = unsigned long long; using int128=__int128_t;
展开全文
Incklaw
发表于 2025-11-12 17:42:43
import sys n=int(input()) aaa=list(map(int,(input().split()))) xiabiao=[] xiabiao=list(map(int,range(0,n))) sub=[] for i in range(0,n): sub.ap
展开全文
徐尚Alan
发表于 2025-09-02 15:17:30
#include <iostream> #include <unordered_map> #include <vector> using namespace std; int main() { int n; cin >> n;
展开全文
E.Y.
发表于 2025-12-12 16:55:46
from collections import Counter n = int(input()) a = list(map(int, input().split())) c = [] for i in range(len(a)): c.append(a[i] - i) #print(
展开全文
问题信息
排序
难度:
13条回答
84收藏
383浏览
热门推荐
相关试题
在下列表述中,错误的是()
字符串
树
排序
评论
(43)
若存在一颗平衡二叉树,其所有非叶结...
树
评论
(1)
在超网络中,生成子网络参数的过程通...
机器学习
评论
(1)
请问以下有关 Promise 内置...
Javascript
评论
(1)
宏定义是C语言中非常实用的一种计算...
C语言
评论
(1)
谐距下标对
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
6 1 2 3 4 5 6
15