京东机试

一、

1.1

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int a[5]={10};
    for(int i=0;i<5;i++)
       cout<<a[i]<<" ";
    cout<<endl;
    int b[5]={0};
    for(int i=0;i<5;i++)
       cout<<b[i]<<" ";
    cout<<endl;
     
    int c[5];
    memset(c,10,sizeof(int)*5);
    for(int i=0;i<5;i++)
        cout<<c[i]<<" ";
    cout<<endl;
    int d[5];
    memset(d,0,sizeof(int)*5);
    for(int i=0;i<5;i++)
        cout<<d[i]<<" ";
    cout<<endl;
    return 0;
}

memset()和{}只能初始化 0 ,不能初始化其他数。

2、

#include <iostream>

using namespace std;

bool IsSimilar(string a,string b)
{
    int box1[26],box2[26];
    int i,j,k;
	for( i=0;i<26;i++)
	{
	    box1[i]=100;
	    box2[i]=100;
	}	
	for( j=0;j<a.size();j++)  //判断 abc 对 xyx 是否相似
	{
		if(box1[a[j]-'a'] == 100)
		{
		    box1[a[j]-'a'] = (b[j]-'a');	
		} 
		else
		{
			if(box1[a[j]-'a']!=(b[j]-'a'))
			    break;
		}
	}
	for( k=0;k<b.size();k++) //判断 xyx 对 abc 是否相似
	{
		if(box2[b[k]-'a'] == 100)
		{
		    box2[b[k]-'a'] = (a[k]-'a');	
		} 
		else
		{
			if(box2[b[k]-'a']!=(a[k]-'a'))
			    break;
		}
	}
	
	if(j==a.size() and k==b.size())
	    return true;
} 

int solve(string S,string T)
{
	int num=0;
	for(int i=0;i<S.size()-T.size()+1;i++)  //调用函数
	{
		string a;
		a=S.substr(i,3);
		if(IsSimilar(a,T))
	    {
	    	num++;
		}
	}
	return num;
}

int main()
{
    int res;
    string _S;
    getline(cin,_S);
    string _T;
    getline(cin,_T);
    res=solve(_S,_T);
    cout<<res<<endl;
    return 0;
}
//ababcb
//xyx

 

二、

 

posted on 2018-09-09 21:41  箬笠蓑衣  阅读(342)  评论(0编辑  收藏  举报