Hướng dẫn binary search list of strings python - danh sách tìm kiếm nhị phân của chuỗi python

Tôi tương đối mới với Python (3.3) và tôi chỉ đang cố gắng thực hiện tìm kiếm nhị phân thông qua danh sách các từ và không thể tìm ra cách khắc phục các loại toán hạng của mình khi nói đến việc lặp lại các chỉ số ... tôi Tiếp tục có được kiểu mẫu. Không thể tìm ra bất kỳ cách nào xung quanh nó

def find(L, target):
    start = 0
    end = len(L) - 1

    while start <= end: 
        middle = (start + end)// 2 
        midpoint = L[middle]
        if midpoint > target:
            end = midpoint - 1
        elif midpoint < target:
            start = midpoint + 1
        else:
            return midpoint

Tôi đang gọi chức năng như vậy:

L = ["Brian", "Meg", "Peter", "Joe", "Stewie", "Lois"]]

Tìm (L, "Joe")

Hướng dẫn binary search list of strings python - danh sách tìm kiếm nhị phân của chuỗi python

Tdelaney

67.4K5 Huy hiệu vàng74 Huy hiệu bạc106 Huy hiệu đồng5 gold badges74 silver badges106 bronze badges

Hỏi ngày 17 tháng 12 năm 2015 lúc 5:28Dec 17, 2015 at 5:28

7

Logic của bạn có vẻ tốt, ngoại trừ đầu vào và lỗi với điểm giữa tăng và giảm thay vì giữa.input and the bug with incrementing and decrementing midpoint instead of middle.

def find(L, target):
    start = 0
    end = len(L) - 1

    while start <= end:
        middle = (start + end)/ 2
        midpoint = L[middle]
        if midpoint > target:
            end = middle - 1
        elif midpoint < target:
            start = middle + 1
        else:
            return midpoint

L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.

print find(L, "Peter")

Hướng dẫn binary search list of strings python - danh sách tìm kiếm nhị phân của chuỗi python

Bhargav Rao

47.6K27 Huy hiệu vàng122 Huy hiệu bạc137 Huy hiệu đồng27 gold badges122 silver badges137 bronze badges

Đã trả lời ngày 17 tháng 12 năm 2015 lúc 5:40Dec 17, 2015 at 5:40

Jianweichuahjianweichuahjianweichuah

1.4071 huy hiệu vàng9 Huy hiệu bạc22 Huy hiệu đồng1 gold badge9 silver badges22 bronze badges

2

def find(L, target):
    start = 0
    end = len(L) - 1
    while start <= end:
        middle = (start + end)// 2
        midpoint = L[middle]
        if midpoint > target:
            end = middle - 1
        elif midpoint < target:
            start = middle + 1
        else:
            return midpoint

    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
    L = sorted(L)
    print(find(L, "Lois"))

Như người khác chỉ ra, hãy sử dụng giữa thay vì điểm giữa

Và để sử dụng tối ưu tìm kiếm nhị phân, hãy sắp xếp danh sách trướcbinary search, sort the list first

Vivek Sable

9,5343 huy hiệu vàng36 Huy hiệu bạc51 Huy hiệu đồng3 gold badges36 silver badges51 bronze badges

Đã trả lời ngày 17 tháng 12 năm 2015 lúc 5:44Dec 17, 2015 at 5:44

Hướng dẫn binary search list of strings python - danh sách tìm kiếm nhị phân của chuỗi python

Prashant Yadavprashant YadavPrashant Yadav

Huy hiệu vàng 50111 gold badge10 silver badges25 bronze badges

1

def binarySearchOnString(arr, x):
        l = 0
        r = len(arr) - 1
        while (l <= r): 
            m = (l + r) // 2 
            if (arr[m] == x): 
                return m
            elif (arr[m] < x): 
                l = m + 1
            else: 
                r = m - 1
        return -1  #   If element is not found  then it will return -1
    
            

Đã trả lời ngày 8 tháng 10 năm 2020 lúc 5:50Oct 8, 2020 at 5:50

Hướng dẫn binary search list of strings python - danh sách tìm kiếm nhị phân của chuỗi python

SunnysunnySunny

1.08411 Huy hiệu bạc14 Huy hiệu đồng11 silver badges14 bronze badges

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Examples:

    Bàn luận arr[] = {“contribute”, “geeks”, “ide”, “practice”}, x = “ide”
    Output :  2
    The String x is present at index 2.

    Cho một mảng chuỗi được sắp xếp và chuỗi X, hãy tìm một chỉ mục X nếu nó có trong mảng. arr[] = {“contribute”, “geeks”, “ide”, “practice”}, x = “zz”
    Output :  -1
    The String “zz” is not present. 

    Đầu vào: & nbsp; ARR [] = {{đóng góp, các geeks ,, 2 Chuỗi X có mặt tại INDEX 2.
    The idea is to compare x with the middle string in the given array. If it matches, then returns mid, else if it is smaller than mid, then search in the left half, else search in the right half. 

    Implementation:

    C++

    #include

    Đầu vào: & nbsp; mảng [] = {{đóng góp, các geeks ,, -1 chuỗi ZZ ZZ không có mặt. & NBSP;

    Điều kiện tiên quyết: Tìm kiếm nhị phân, so sánh chuỗi trong ý tưởng Javedit là so sánh X với chuỗi giữa trong mảng đã cho. Nếu nó phù hợp, sau đó trả về giữa, nếu không nếu nó nhỏ hơn giữa, sau đó tìm kiếm ở nửa trái, khác tìm kiếm ở nửa bên phải. & NBSP;

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    5

    using namespace std;

        ____10

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    1
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    3

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    8

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    5

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    1

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    3
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    4

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    9

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    7

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    Element found at index 2
    0

    Element found at index 2
    1
    Element found at index 2
    2
    Element found at index 2
    3

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    54

    Element found at index 2
    1
    Element found at index 2
    8

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7#include0

    Element found at index 2
    1#include2

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6#include4

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    Element found at index 2
    2 #include7

    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4 std;7

        #include82#include83    1

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    5

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6using6using7using8using9using8namespace1using8namespace3namespace4

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6namespace6namespace1namespace8

    #include89

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    97
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    98 #include92#include93    1

    Đầu ra

    Độ phức tạp về thời gian: O (log (n)) & nbsp; không gian phụ trợ: O (1)

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7std;9    0    1

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6#include0

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7std;9    6    7

        #include4

    Java

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    00
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    01

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    03
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    05

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    5

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    10
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    12
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13namespace8

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    3
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    17

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    21namespace8

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    25

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    28
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    30

    Element found at index 2
    1
    Element found at index 2
    2
    Element found at index 2
    3

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    36
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    30

    Element found at index 2
    1
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    40
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13namespace8

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7#include0

    Element found at index 2
    1
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    46
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13namespace8

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6#include4

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    Element found at index 2
    2
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13namespace8

        #include4

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    59
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    03
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    61
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    62

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    5

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    66using7using8using9using8namespace1using8namespace3namespace4

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    76namespace1namespace8

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    81

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    84
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    30

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    88    0    1

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6#include0

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    88
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    95

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    96
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    97
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    98
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    99

        #include4

    #include4

    Python3

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    03
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    04

        

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    06
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11

        

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    10
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    12
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    13

        

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    3
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    16
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    18

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    06
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    23
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    24
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    32
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    34
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    37

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    40
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    44

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    Element found at index 2
    2
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    36
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    44

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    06
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    23
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6#include0
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    63

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    10
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13

        

    Element found at index 2
    2
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13

    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    75
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    78
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    63

    Các

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    88namespace1using8namespace3
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    92

        

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    94
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07 namespace1

        

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    98
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    00

        

    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    03
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    44

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    10
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    11    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    30

        #include0

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    63

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    10
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    11
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    87

    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    22
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    23

    C#

    using

    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    25

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    00
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    01

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    03
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    05

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    5

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    36

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    3
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    17

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    21namespace8

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    25

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    28
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    30

    Element found at index 2
    1
    Element found at index 2
    2
    Element found at index 2
    3

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    36
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    30

    Element found at index 2
    1
    Element found at index 2
    8

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7#include0

    Element found at index 2
    1#include2

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6#include4

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    Element found at index 2
    2
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13namespace8

        #include4

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    59
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    03
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    61
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    62

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    5

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    66using7using8using9using8namespace1using8namespace3namespace4

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    76namespace1namespace8

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    0
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    81

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    84
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    30

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    96
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    97
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    98
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    99

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6#include0

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    96
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    95

    #include4

        #include4

    #include4

    def find(L, target): start = 0 end = len(L) - 1 while start <= end: middle = (start + end)// 2 midpoint = L[middle] if midpoint > target: end = middle - 1 elif midpoint < target: start = middle + 1 else: return midpoint L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] L = sorted(L) print(find(L, "Lois")) 03 def find(L, target): start = 0 end = len(L) - 1 while start <= end: middle = (start + end)// 2 midpoint = L[middle] if midpoint > target: end = middle - 1 elif midpoint < target: start = middle + 1 else: return midpoint L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] L = sorted(L) print(find(L, "Lois")) 04

    Element found at index 2
    11

        

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    06
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    5

        

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    10
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    12
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    13

        

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    3
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    16
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    18

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    06
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    23
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    24
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53

        

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    5

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    32
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    34
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    37

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    40
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    44

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    Element found at index 2
    2
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    36
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    11
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    44

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    06
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    23
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    10
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    20
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6#include0

        

    Element found at index 2
    2
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13

        #include4

    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    75
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    78
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    63

    #include4

    Các

    Element found at index 2
    1namespace1using8namespace3    1

        

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    94
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07 namespace1

        

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    98
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    00

        

    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    03
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    07
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    53
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    13
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    44

        

    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    10
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    11    0    1

    #include0

        

    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    10
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    11    6 #include27

    Element found at index 2
    04#include07    1

    #include31

    JavaScript

    #include32

    Element found at index 2
    12 #include34

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    5

        #include37

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    3
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    17

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7#include42

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7#include44

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    Element found at index 2
    0

    Element found at index 2
    1
    Element found at index 2
    2
    Element found at index 2
    3

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4
    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    54

    Element found at index 2
    1
    Element found at index 2
    8

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    7#include0

    Element found at index 2
    1#include2

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6#include4

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    6
    Element found at index 2
    2 #include7

    #include4

    #include66using7using8using9using8namespace1using8namespace3

    def find(L, target):
        start = 0
        end = len(L) - 1
        while start <= end:
            middle = (start + end)// 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
        L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"]
        L = sorted(L)
        print(find(L, "Lois"))
    
    92

    #include75namespace1namespace8

    #include78

    def binarySearchOnString(arr, x):
            l = 0
            r = len(arr) - 1
            while (l <= r): 
                m = (l + r) // 2 
                if (arr[m] == x): 
                    return m
                elif (arr[m] < x): 
                    l = m + 1
                else: 
                    r = m - 1
            return -1  #   If element is not found  then it will return -1
        
                
    
    4 std;7

        #include82#include83    1

    #include0

        #include82

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    95

    #include89

    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    97
    def find(L, target):
        start = 0
        end = len(L) - 1
    
        while start <= end:
            middle = (start + end)/ 2
            midpoint = L[middle]
            if midpoint > target:
                end = middle - 1
            elif midpoint < target:
                start = middle + 1
            else:
                return midpoint
    
    L = ["Brian", "Joe", "Lois", "Meg", "Peter", "Stewie"] # Needs to be sorted.
    
    print find(L, "Peter")
    
    98 #include92#include93    1

    #include95

    Đầu ra

    Element found at index 2

    Độ phức tạp về thời gian: O (log (n)) & nbsp; không gian phụ trợ: O (1) O(log(n)) 
    Auxiliary Space: O(1)


    Tìm kiếm nhị phân có thể được sử dụng cho chuỗi Python không?

    Cho một mảng chuỗi được sắp xếp và chuỗi X, hãy tìm một chỉ mục X nếu nó có trong mảng. Chuỗi X có mặt tại INDEX 2.. The String x is present at index 2.

    Tìm kiếm nhị phân có thể được sử dụng trong danh sách các chuỗi không?

    Thí dụ.Tìm kiếm nhị phân đang tìm kiếm kỹ thuật hoạt động bằng cách tìm phần giữa của mảng để tìm phần tử.Đối với mảng chuỗi, thuật toán tìm kiếm nhị phân sẽ vẫn giữ nguyên.Nhưng các so sánh được thực hiện sẽ dựa trên so sánh chuỗi.For array of strings also the binary search algorithm will remain the same. But the comparisons that are made will be based on string comparison.

    Làm thế nào để bạn sử dụng tìm kiếm nhị phân trong Python?

    Algorithm..
    So sánh x với phần tử giữa ..
    Nếu x khớp với phần tử giữa, chúng ta sẽ trả về chỉ số giữa ..
    Khác nếu x lớn hơn phần tử giữa, thì x chỉ có thể nằm ở nửa bên phải Subarray sau phần tử giữa.Vì vậy, chúng tôi tái diễn cho nửa đúng ..
    Khác (x nhỏ hơn) tái diễn cho nửa bên trái ..

    Python có chức năng tìm kiếm nhị phân tích hợp không?

    Mặc dù không có thuật toán tìm kiếm nhị phân rõ ràng trong Python, nhưng có một mô -đun - bisect - được thiết kế để tìm điểm chèn cho một phần tử trong danh sách được sắp xếp bằng tìm kiếm nhị phân.there's no explicit binary search algorithm in Python, there is a module - bisect - designed to find the insertion point for an element in a sorted list using a binary search.