Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Программа на Java

Вам необходимо написать программу на языке Java, которая реализует поиск индекса последнего вхождения элемента с использованием алгоритма бинарного поиска. Считайте, что вы работаете с уже отсортированным массивом целых чисел.
Программа должна выводить в консоль по результатам работы найденный индекс последнего вхождения элемента или сообщение об отсутствии элемента в массиве.

По дате
По рейтингу
Аватар пользователя
Новичок

Примерно так (код на C#, на жабе будет что-то очень похожее):

1234567891011121314151617181920212223
 public static int FindLastIdx<T>(T[] _Data, int _Start) where T: IEquatable<T> 
{ 
    int n = _Start; 
    while (n < _Data.Length && _Data[n].Equals(_Data[_Start]))  
        n++; 
    return --n; 
} 
 
public static int? BinSearch<T>(T[] _Data, T _Value, int _StartIdx, int _EndIdx) where T: IComparable, IEquatable<T> 
{ 
    if (_StartIdx == _EndIdx || _Data[_StartIdx].Equals(_Value) || _Data[_EndIdx].Equals(_Value)) 
    { 
        if (_Data[_StartIdx].Equals(_Value)) 
            return FindLastIdx(_Data, _StartIdx); 
        if (_Data[_EndIdx].Equals(_Value)) 
            return FindLastIdx(_Data, _EndIdx); 
        return null; 
    } 
    int Middle = (_StartIdx + _EndIdx) >> 1; 
    if (_Data[Middle].CompareTo(_Value) > 0) 
        return BinSearch(_Data, _Value, _StartIdx, Middle); 
    return BinSearch(_Data, _Value, Middle, _EndIdx); 
} 
Аватар пользователя
Искусственный Интеллект

какое отношение к javascript

Аватар пользователя
Оракул

Я пишу на java только игры.