题解 | #美妙的约会#

美妙的约会

http://www.nowcoder.com/practice/cc3eef5aed91489f9b706f4196e0d5c6

参考解法https://blog.csdn.net/meng_lemon/article/details/97141897

#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;

int main()
{
    int n;
    cin >> n;
    int nums[2*n];
    for(int i=0; i<2*n; i++)
    {
        cin >> nums[i];
    }

    int count = 0, left = 0, right;
    for(left; left<2*n; left=left+2)
    {
        right = left + 1;
        //找到值相等的对应元素的下标
        while(right<2*n && nums[left]!=nums[right])    right++;
        //将对应元素与前一个元素交换位置,直到下标为left+1,即值相等两元素相邻
        for(right; right>left+1; right--)
        {
            swap(nums[right-1], nums[right]);
            count ++;
        }
    }
    cout << count <<endl;
    return 0;
}
全部评论

相关推荐

10-15 15:00
潍坊学院 golang
跨考小白:这又不是官方
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务