arrays - 在数组代码中查找对数的输出不正确
问题描述
问题是在给定数组中查找对数。我无法弄清楚为什么我得到不正确的输出。提前致谢...
样本输入:10 1 1 3 1 2 1 3 3 3 3
预期产出:4
我的输出:2
#include <iostream>
using namespace std;
void sockMerchant(int arr[],int n){
int arr1[n],pairs=0,k=0;
bool exist=false;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(arr1[j]==arr[i]){
exist = true;
}
}
if(!exist){
int c=0;
int x = arr[i];
for(int i=0;i<n;i++){
if(arr[i]==x){
c++;
}
}
arr1[k] = x;
k++;
pairs = pairs + c/2;
exist = false;
}
}
cout << pairs;
}
int main() {
int n;
cin >> n;
int arr[n];
for(int i=0;i<n;i++){
cin >> arr[i];
}
sockMerchant(arr,n);
}
解决方案
推荐阅读
- javascript - javascript ES6 / 如何正确链接 Promises 并实现处理
- react-native - React redux - 将参数传递给 url - 错误 - 动作必须是普通对象
- reactjs - 检查输入长度时“重新渲染过多”
- node.js - 使用 connect-redis 和 redis-io 的会话持久性
- javascript - NextJS:香草 JavaScript,可能与否?
- c# - 如何在 C# 中重写基类构造函数
- python - Argparse 字典到命名空间
- java - 在Java中访问数组外循环的问题
- javascript - 如何在 Vue.js 中的某个索引处结束 for 循环
- reactjs - Antd Timepicker 从变量中设置 defaultValue