首页 > 代码库 > 【算法系列学习】[kuangbin带你飞]专题十二 基础DP1 B - Ignatius and the Princess IV
【算法系列学习】[kuangbin带你飞]专题十二 基础DP1 B - Ignatius and the Princess IV
http://www.cnblogs.com/joeylee97/p/6616039.html
引入一个cnt,输入元素与上一个元素相同,cnt增加,否则cnt减少,当cnt为零时记录输入元素,因为所求数字至少出现(N+1)/2次,所以最后记录元素就是所求元素
1 #include<iostream> 2 #include<cstdio> 3 #include<string> 4 #include<cstring> 5 #include<cmath> 6 #include<algorithm> 7 8 using namespace std; 9 const int maxn=1e6+10; 10 11 int n; 12 int main() 13 { 14 while(scanf("%d",&n)!=EOF) 15 { 16 int temp,cur,cnt=1; 17 scanf("%d",&temp); 18 for(int i=1;i<n;i++) 19 { 20 scanf("%d",&cur); 21 if(cur==temp) 22 { 23 cnt++; 24 } 25 else 26 { 27 cnt--; 28 } 29 if(cnt==0) 30 { 31 temp=cur; 32 cnt=1; 33 } 34 35 } 36 printf("%d\n",temp); 37 } 38 return 0; 39 }
【算法系列学习】[kuangbin带你飞]专题十二 基础DP1 B - Ignatius and the Princess IV
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。