Отсортировать лексикографически?

Самый короткий и самый быстрый способ сделать это - вы можете изменить массив на ArrayList и затем использовать метод .toArray (), чтобы вернуть его в качестве примитивного массива при возврате.

public static Integer[] Divisible(int[] array, int target){ 
    List<Integer> answer = new ArrayList<>();
    for (int i = 0; i<array.length; i++){ 
        if (array[i] % target == 0) {
            answer.add(array[i]); // pushing to list only if the number is divisible
        } 
    } 
    return answer.toArray(new Integer[0]); // converting the list to an array before returning
}

Если вы хотите получить список уникальных номеров, используйте «Set» вместо «List».

Set<Integer> answer = new HashSet<>();
7
задан Michael Myers 8 May 2009 в 17:29
поделиться

4 ответа

Слово должно быть «лексикографическим»

http://www.thefreedictionary.com/Lexicographic

Порядок словаря. Использование букв в том виде, в котором они появляются в строках.

Как они предлагают, не складывайте прописные и строчные буквы вместе. Просто используйте встроенный в Python метод list.sort ().

6
ответ дан 6 December 2019 в 10:03
поделиться

Цитируйте еще немного из раздела:

2 Сгенерируйте базовую строку:

Нормализуйте параметры:

  • Добавьте специфические параметры OAuth для этого запроса к входным параметрам, в том числе:

     oauth_consumer_key = 
    oauth_timestamp = <отметка времени>
    oauth_nonce = <нет>
    oauth_version = <версия>
    oauth_signature_method = 
    
  • Сортировка параметров по имени лексографически [sic] (порядок байтов, стандартная сортировка, не естественная или нечувствительная к регистру). Если параметры имеют одинаковое имя, выполните сортировку по значению.

  • Кодируйте значения параметров, как в разделе 2 RFC3986 (т. Е. Urlencode). Создайте строку параметра (). Это тот же формат, что и HTTP postdata или querystring, то есть каждый параметр представлен как name = value, разделенный &. Например, a = 1 & b = 2 & c = hello% 20there & c = something% 20else

Я думаю, они говорят, что параметры должны отображаться в отсортированном порядке - oauth_consumer_key до oauth_nonce до ...

1
ответ дан 6 December 2019 в 10:03
поделиться

Я думаю, что здесь лексикографический "псевдоним" для сортировки ascii?

Lexicographic          Natural  
z1.doc                  z1.doc    
z10.doc                 z2.doc    
z100.doc                z3.doc    
z101.doc                z4.doc    
z102.doc                z5.doc    
z11.doc                 z6.doc    
z12.doc                 z7.doc    
z13.doc                 z8.doc    
z14.doc                 z9.doc     
z15.doc                z10.doc    
z16.doc                z11.doc    
z17.doc                z12.doc    
z18.doc                z13.doc     
z19.doc                z14.doc     
z2.doc                 z15.doc    
z20.doc                z16.doc    
z3.doc                 z17.doc    
z4.doc                 z18.doc    
z5.doc                 z19.doc    
z6.doc                 z20.doc    
z7.doc                z100.doc    
z8.doc                z101.doc    
z9.doc                z102.doc    
8
ответ дан 6 December 2019 в 10:03
поделиться

Это похоже на API Facebook - строка запроса должна быть нормализована перед генерацией хэша подписи.

Вероятно, у вас есть словарь таких параметров, как:

params = {
  'consumer_key': "....",
  'consumer_secret': "....",
  'timestamp': ...,
  ...
}

Создайте строку запроса примерно так:

urllib.urlencode(sorted(params.items()))

params.items () возвращает ключи и значения словаря в виде кортежей списка, sorted () сортирует список, а urllib.urlencode () объединяет их в одну строку при экранировании.

4
ответ дан 6 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

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