现在的位置: 首页 > 综合 > 正文

【HackerRank】 Game Of Thrones – I

2018年10月30日 ⁄ 综合 ⁄ 共 691字 ⁄ 字号 评论关闭

最早的代码超时了 样例测试的时候 其实就超时了 只是当时没注意而已 心存侥幸

#include <iostream>
#include  <string>
#include <algorithm>

using namespace std ;

int main()
{
	string s ;
	cin >> s ;
	int len = s.size();
	bool flag = false ;	
    do
	{
		for ( int i = 0 ; i < len/2 ;++i)
		      if (s[i]==s[len-1-i])  flag = true ;
		    
		      
	}while(next_permutation(s.begin(),s.end()));

	if(flag ) cout << "YES" << endl ;
	else cout << "NO" << endl ;
	return 0 ;//超时代码
}

未超时代码  其实是找到了回文字符串的规律  就是说 奇数个字母 最多只有一种。  但是 运行了好久也不对 找了半天错误 是 循环多减了一个1 。

#include <iostream>
#include <string>


using namespace std ;

void solve ( string a )
{
     int A[26] ;
     for ( int i = 0 ; i < 26 ;++i)
               A[i] = 0 ;
	 int len = a.size();
	 int count = 0 ;
	 for (int i = 0 ; i < len ; ++i)
	           A[a[i]-'a']++;
	for (int i = 0 ; i < 26 ; ++i)
	         if (A[i]%2 != 0)
	               count++;
     if ( count <=1)  cout << "YES" << endl ;
     else cout << "NO" << endl ;
}
int main()
{
	 string s ;
	 cin >> s ;
     solve(s)  ;
     return 0 ;
	          
}

抱歉!评论已关闭.