SRM 670 div2 A BearSong

  Problem Statement  

 Problem Statement for BearSong

Problem Statement

 

Bear Limak has recently learned about musical notes. He then listened to a song and noticed that some notes appeared less often than others. In fact, some notes were so rare that they appeared in the song only once!



Limak now wants to look for such notes in other songs. Write a program that will look for the rare notes.



You are given a int[] notes that describes a song. Each number in notes represents one note of the song. Different numbers represent different notes, equal numbers represent equal notes.



Compute and return the number of notes that occur exactly once in the given song.

 

Definition

 
Class: BearSong
Method: countRareNotes
Parameters: int[]
Returns: int
Method signature: int countRareNotes(int[] notes)
(be sure your method is public)
 
 
 

Constraints

- notes will contain between 1 and 50 elements, inclusive.
- Each element in notes will be between 1 and 1000, inclusive.
 

Examples

0)  
 
{9,10,7,8,9}
Returns: 3
The rare notes are the notes 7, 8, and 10. Each of these notes occurs exactly once in the whole song. The note 9 occurs twice, so it is not a rare note
1)  
 
{8,8,7,6,7,3,5,10,9,3}
Returns: 4
Each of the notes 5, 6, 9, and 10 occurs exactly once in this song.
2)  
 
{234,462,715,596,906}
Returns: 5
3)  
 
{17}
Returns: 1

4)  
 
{1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,
1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,
1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000}
Returns: 0


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2010, TopCoder, Inc. All rights reserved.

This problem was used for: 
       Single Round Match 673 Round 1 - Division II, Level One

题意:给你一个序列,求只出现一次的数的种数

很久没打TC了,忘记要加头文件,一直编译错误...............

#include
   
   
    
    
#include
    
    
     
     
#include
     
     
      
      
#include
      
      
       
       
using namespace std;

class BearSong
{
    public:
        int countRareNotes(vector 
       
       
         notes) { int ans = 0; int i; int flag[2001]; for(i = 0; i < notes.size(); i++) { int val = notes[i]; if(!flag[ val ]) { flag[ val ] = 1; ans++; } else if(flag[ val ] == 1) { flag[ val ] = 2; ans--; } } return ans; } }; 
       
      
      
     
     
    
    
   
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值