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;
}
相關文章
- 比較兩個陣列是否相等陣列
- 判斷陣列裡面的json 物件是否相等,相等則移除陣列JSON物件
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- 457. 環形陣列是否存在迴圈陣列
- matlab比較兩個矩陣是否相等Matlab矩陣
- 陣列演算法-差分陣列陣列演算法
- 寫個方法判斷陣列物件中是否存在某個物件陣列物件
- 多個陣列,判斷鍵值是否存在從屬關係陣列
- Go小工具系列——判斷元素是否存在於陣列中Go陣列
- PAT-B 1092 最好吃的月餅【陣列】陣列
- PAT-B 1066 影象過濾【陣列】陣列
- 求陣列中是否存在滿足特定和的兩個數字(python & Js)陣列PythonJS
- 移除陣列 arr 中的所有值與 item 相等的元素。不要直接修改陣列 arr,結果返回新的陣列陣列
- js陣列擴充套件用lamada表示式實現查詢是否存在JS陣列套件
- 3224. 使差值相等的最少陣列改動次數陣列
- PAT-B 1019 數字黑洞【陣列+模擬】陣列
- java 兩個列表的元素是否相等且各自元素數量相等Java
- 【陣列】1550. 存在連續三個奇數的陣列(簡單)陣列
- 技術乾貨:如何判斷一個整數陣列是否存在重複元素......陣列
- JavaScript 判斷是否是陣列JavaScript陣列
- JS求陣列的交集、並集、差集JS陣列
- lodash原始碼分析之陣列的差集原始碼陣列
- 判斷是否是陣列的幾種方法陣列
- javascript中常用的陣列操作方法,以及是否會改變原始陣列JavaScript陣列
- PAT-B 1005 繼續(3n+1)猜想【陣列】陣列
- 一個比較float是否相等的工具類
- 判斷是否為陣列的 JavaScript 方法總結陣列JavaScript
- js判斷兩個物件是否相等JS物件
- 利用Underscore求陣列的交集、並集和差集陣列
- 差分陣列原理與其字首和的應用陣列
- 陣列[簡單]1550. 存在連續三個奇數的陣列2020/11/14(6)陣列
- 判斷一個陣列是否排好序陣列
- Minimum Moves to Equal Array Elements 最小移動次數使陣列元素相等陣列
- 如何判斷JavaScript中的兩變數是否相等?JavaScript變數
- 比較兩個陣列中是否有相同的元素陣列
- Javascript-判斷是否為陣列的5種方法JavaScript陣列
- PAT-B 1068 萬綠叢中一點紅【對映+陣列】陣列
- JavaScript判斷兩個變數是否相等JavaScript變數