Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <string>#include <cmath>#include <string.h>using namespace std;int main() {string input;cin >> input;int dict[256];memset(dict, 0, 256 * sizeof(int));int begin = 0, end = 0;int res = 0x3f3f3f3f;while (end < input.size()) {dict[input[end++]]++;while (begin < end && (dict['h'] > 2 || dict['i'] > 1 || dict['o'] > 1 || (input[begin] != 'h' && input[begin] != 'i' && input[begin] != 'o'))) {dict[input[begin++]]--;}if (dict['h'] == 2 && dict['i'] == 1 && dict['o'] == 1) {res = min(res, end - begin);}}cout << (res == 0x3f3f3f3f ? -1 : res) << endl;return 0;