PAT-B 1083 是否存在相等的差【陣列】
PAT-B 1083 是否存在相等的差
https://pintia.cn/problem-sets/994805260223102976/problems/994805260780945408
題目
給定 N 張卡片,正面分別寫上 1、2、……、N,然後全部翻面,洗牌,在背面分別寫上 1、2、……、N。將每張牌的正反兩面數字相減(大減小),得到 N 個非負差值,其中是否存在相等的差?
輸入
輸入第一行給出一個正整數 N(2 ≤ N ≤ 10 000),隨後一行給出 1 到 N 的一個洗牌後的排列,第 i 個數表示正面寫了 i 的那張卡片背面的數字。
輸出
按照“差值 重複次數”的格式從大到小輸出重複的差值及其重複的次數,每行輸出一個結果。
樣例輸入
8
3 5 8 6 2 1 4 7
樣例輸出
5 2
3 3
2 2
分析
a[i]記錄差值為i的重複次數,重複次數需要大於1。
C++程式
#include<iostream>
#include<cmath>
using namespace std;
const int N=10005;
int a[N];//a[i]記錄差值為i的重複次數
int main()
{
int n,x;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&x);
a[abs(x-i)]++;//差值abs(x-i)重複的次數加一
}
for(int i=n;i>=0;i--)
if(a[i]>1)//重複次數需要大於1才行
printf("%d %d\n",i,a[i]);
return 0;
}
相關文章
- 比較兩個陣列是否相等陣列
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- 判斷陣列裡面的json 物件是否相等,相等則移除陣列JSON物件
- jquery判斷元素是否存在於陣列中jQuery陣列
- 457. 環形陣列是否存在迴圈陣列
- jquery判斷指定元素是否存在於某陣列jQuery陣列
- javascript中檢測某個字串在陣列中是否存在JavaScript字串陣列
- PHP通過迴圈來檢測四維陣列中的值是否存在陣列中PHP陣列
- matlab比較兩個矩陣是否相等Matlab矩陣
- 陣列分割,把陣列分割成和相等的兩部分--遞迴方法陣列遞迴
- js如何判斷陣列中是否存在指定的值並返回索引JS陣列索引
- 陣列演算法-差分陣列陣列演算法
- Go小工具系列——判斷元素是否存在於陣列中Go陣列
- 多個陣列,判斷鍵值是否存在從屬關係陣列
- PAT-B 1066 影象過濾【陣列】陣列
- PAT-B 1092 最好吃的月餅【陣列】陣列
- php關聯陣列和索引陣列差別PHP陣列索引
- 移除陣列 arr 中的所有值與 item 相等的元素。不要直接修改陣列 arr,結果返回新的陣列陣列
- 求陣列中是否存在滿足特定和的兩個數字(python & Js)陣列PythonJS
- javascript陣列如何判斷是否有重複的陣列項JavaScript陣列
- js陣列擴充套件用lamada表示式實現查詢是否存在JS陣列套件
- 3224. 使差值相等的最少陣列改動次數陣列
- Java檢測物件是否相等Java物件
- Javascript 判斷物件是否相等JavaScript物件
- java 兩個列表的元素是否相等且各自元素數量相等Java
- JS求陣列的交集、並集、差集JS陣列
- lodash原始碼分析之陣列的差集原始碼陣列
- 技術乾貨:如何判斷一個整數陣列是否存在重複元素......陣列
- PAT-B 1019 數字黑洞【陣列+模擬】陣列
- JavaScript 判斷是否是陣列JavaScript陣列
- 【陣列】1550. 存在連續三個奇數的陣列(簡單)陣列
- 判斷物件是否相等的方法,==與 isEqual物件
- PAT-B 1005 繼續(3n+1)猜想【陣列】陣列
- javascript中常用的陣列操作方法,以及是否會改變原始陣列JavaScript陣列
- 判斷是否是陣列的幾種方法陣列
- 如果陣列中存在 item,則返回元素在陣列中的位置,否則返回 -1陣列
- 一個比較float是否相等的工具類
- js判斷兩個物件是否相等JS物件