zoukankan      html  css  js  c++  java
  • 1041. Be Unique (20)

     距离PAT考试还有12天最重要的是做透每一题

    (1)思路

    用map创建一个hash表,遍历一遍数据将key和对应的value填入

    注意第一次没有找到时,是设置为1,m[temp]=1不是零

    顺便把各个值压入vector中,这一步是因为map插入后是根据key值排序了的,所以要记录顺序

    最后再遍历一遍数组一旦找到value为1的值就退出循环并打印,若没有找到就打印None

    这里用到了map容器

    可以用count()方法和find()方法分别找是否有某一个key值

    map也可以通过迭代器迭代

    #include <cstdio>
    #include <map>
    #include <vector>
    using namespace std;
    
    int main() {
      int n;
      scanf("%d",&n);
      map<int,int> m;
      vector<int> v;
      for(int i=0;i<n;i++) {
        int temp;
        scanf("%d",&temp);
        v.push_back(temp);
        if(m.find(temp) == m.end()) {
          m[temp]=1;
        } else {
          m[temp]++;
        }
      }
      int win=0;
      for(int i=0;i<n;i++) {
        if(m[v[i]] == 1){
          win=v[i];
          break;
        }
      }
      win==0? printf("None"):printf("%d",win);
      return 0;
    }

    当然这里不用map用两个数组也可以实现

  • 相关阅读:
    npm配置国内源方法
    数据库—事务—隔离级别
    Mybatis—日志
    Mybatis—动态 SQL
    Mybatis—mapper.xml配置文件
    declare命令
    shell杂项
    流程控制语句
    第一篇博客
    Linux 命令[2]:mkdir
  • 原文地址:https://www.cnblogs.com/tclan126/p/8514560.html
Copyright © 2011-2022 走看看