百度计算机视觉 编程题 第一题, 求大佬看看, 对吗?
发布于 2017-09-27 21:08 1954 次浏览 0 赞 来自 试题交流  
inputs_1 = ()
inputs_2 = ()
inputs_3 = ()

inputs_1_list = (inputs_1)

res_all=[]
x ((inputs_1)):
    res_left = inputs_1[:x]
    res_right = inputs_1[x:(inputs_1)]
    res_list = []

    ((inputs_2)) < ((res_left)) ((inputs_3)) < ((res_right)):
        length_1 = (res_left)
        length_2 = (res_right)
        res_2 = length_1 * length_2
        res_list.append(res_2)

    res_all.append(res_list)

len(res_all) > :
    i max(res_all):
        int(i)

:


2 条回复
inputs_1 = raw_input()
inputs_2 = raw_input()
inputs_3 = raw_input()

inputs_1_list = list(inputs_1)

res_all=[]
for x in range(len(inputs_1)):
    res_left = inputs_1[0:x]
    res_right = inputs_1[x:len(inputs_1)]
    res_list = []

    if set(list(inputs_2)) < set(list(res_left)) or set(list(inputs_3)) < set(list(res_right)):
        length_1 = len(res_left)
        length_2 = len(res_right)
        res_2 = length_1 * length_2
        res_list.append(res_2)

    res_all.append(res_list)

if len(res_all) > 0:
    for i in max(res_all):
        print int(i)

else:
    print "-1"


2017-09-27 21:10
#include <iostream>
#include <string>
#include <vector>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	string S;
	cin >> S;

	string s1;
	cin >> s1;

	string s2;
	cin >> s2;

	vector<int>  s1_S_max_index;

	for (int i = 0; i < S.length(); i++)
	{
		if (S[i] == s1[s1.length() - 1])
		{
			s1_S_max_index.push_back(i);
		}

	}
	int count1 = 0;
	int s1_S_max = 0;
	int s1_temp_m = 0;
	for (int i = 0; i < s1_S_max_index.size(); i++)
	{
		for (int n = 0; n < s1.length(); n++)
		{
			for (int m = s1_temp_m; m <= s1_S_max_index[i]; m++)
			{
				if (S[m] == s1[n])
				{
					count1++;
					s1_temp_m = m + 1;
					if (count1 == s1.length())
					{
						s1_S_max = m;
					}
					break;
				}
			}
		}
	}
		

	int s2_S_min = 0;
	int count2 = 0;
	int s2_temp_m = S.length() - 1;
	if (S.length() - s1_S_max >= s2.length() && s1_S_max >= s1.length() - 1)
	{
		for (int n = s2.length() - 1; n >= 0; n--)
		{
			for (int m = s2_temp_m; m >= s1_S_max; m--)
			{
				if (S[m] == s2[n])
				{
					count2++;
					s2_temp_m = m - 1;
					if (count2 == s2.length())
					{
						s2_S_min = m;
					}
					break;
				}
			}
		}
	}
			
				
	if (s1_S_max >= s2_S_min)
	{
		cout << -1 << endl;
	}
	else{
		if (s1_S_max >= (S.length()-1)/ 2)
			s2_S_min = s1_S_max + 1;
		if (s2_S_min <= (S.length() - 1) / 2)
			s1_S_max = s2_S_min - 1;
		if (s1_S_max<(S.length() - 1) / 2 && s2_S_min >(S.length() - 1) / 2)
		{
			s1_S_max = (S.length() - 1) / 2;
			s2_S_min = s1_S_max + 1;
		}
		cout << (s1_S_max+1)*(S.length() - s2_S_min) << endl;
	}
	return 0;
}


2017-09-28 02:07
添加回复
回到顶部