Фрагмент недостающего кода в решении Movie Titles, завершить испытание подробнее

Я получил эту ошибку много раз раньше. И я уверен, что все программисты PHP по крайней мере однажды получили эту ошибку. Чтобы решить эту ошибку, вы можете решить использовать решение по вашему уровню проблемы:

Возможное решение 1:

Возможно, вы оставили пробелы до или после (в конце файла после?>) ie

THERE SHOULD BE NO BLANK SPACES HERE

DO CHECK FOR BLANK SPACES HERE AS WELL; THIS LINE (blank line) SHOULD NOT EXIST.

В большинстве случаев это должно решить вашу проблему. Проверьте все файлы, связанные с файлом require.

Примечание: Иногда EDITOR (IDE), например gedit (редактор linux по умолчанию), добавляет одну пустую строку в файл save save. Этого не должно быть. Если вы используете linux. вы можете использовать редактор VI для удаления пробела / строк после?> в конце страницы.

Если это не ваш случай, тогда вы можете использовать ob_start для буферизации вывода, как показано ниже:

Возможное решение 2:

 

Это приведет к буферизации вывода и ваши заголовки будут созданы после буферизации страницы.

-9
задан jasa1704 12 February 2018 в 01:01
поделиться

2 ответа

Можно использовать Потоковый API java 8

    private String[] getMovieTitlesFromApi(String query) {
  List<String> titlesLst = new ArrayList<>();

IntStream.iterate(1, n -> n + 1).takeWhile(n -> n < totalPages).limit(totalPages).forEach(c -> {

    try (BufferedReader reader = new BufferedReader(new InputStreamReader(
            new URL("https://jsonmock.hackerrank.com/api/movies/search/?Title=" + URLEncoder.encode(query, "UTF-8") + "&page=" + c)
                    .openConnection().getInputStream()))) {

        Supplier<Stream<String>> contentStream =  reader::lines;

        Optional<JsonObject> objectAsJob = contentStream.get()
                .map(contentStreamLine -> new Gson().fromJson(contentStreamLine, JsonObject.class)).findFirst();
        totalPages = objectAsJob.map(convertedLines -> convertedLines.get("total_pages").getAsInt()).get();
        Optional<JsonArray> dataFilter = objectAsJob.map(convertedLines -> convertedLines.getAsJsonArray("data"));

        IntStream.iterate(0, n -> n + 1).takeWhile(n -> n < dataFilter.get().size()).forEach(dataLines -> {
            titlesLst.add(dataFilter.get().get(dataLines).getAsJsonObject().get("Title").getAsString());
            Collections.sort(titlesLst);
        });

    } catch (Exception e) {
        e.printStackTrace();
    }

    totalPages++;
});

storeMovieTitlesInCache(query,  titlesLst.stream().distinct().collect(Collectors.toList()).toArray(new String[0]));
return titlesLst.toArray(new String[0]);
}
2
ответ дан 6 September 2019 в 19:24
поделиться

Вот мое решение в Python для этого:

import requests
import json

def getMovieTitles(substr):
    titles = []  
    data = requests.get("https://jsonmock.hackerrank.com/api/movies/search/?Title={}".format(substr))  
    response = json.loads(data.content.decode('utf-8'))    
    for page in range(0, response["total_pages"]):       
        page_response = requests.get("https://jsonmock.hackerrank.com/api/movies/search/?Title={}&amp;page={}".format(substr, page + 1))    
        page_content = json.loads(page_response.content.decode('utf-8'))
        #print ('page_content', page_content, 'type(page_content)', type(page_content))    
        for item in range(0, len(page_content["data"])):           
             titles.append(str(page_content["data"][item]["Title"]))  
    titles.sort()  
    return titles

print(getMovieTitles("spiderman"))
0
ответ дан Iqra. 7 September 2019 в 05:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: