same_ends¶
Return true if the group of N numbers at the start and end of the list are the same. For example, with {5, 6, 45, 99, 13, 5, 6}, the ends are the same for n=0 and n=2, and false for n=1 and n=3. You may assume that n is in the range 0..nums.length inclusive.
same_ends([5, 6, 45, 99, 13, 5, 6], 1) -> false
same_ends([5, 6, 45, 99, 13, 5, 6], 2) -> true
same_ends([5, 6, 45, 99, 13, 5, 6], 3) -> false
This exercise was taken from codingbat.com and has been adapted for the Python language. There are many great programming exercises there, but the majority are created for Java.
Starter Code¶
from typing import List
def same_ends(nums: List[int], len: int) -> bool:
pass
result = same_ends([5, 6, 45, 99, 13, 5, 6], 1)
print(result)
Tests¶
from main import same_ends
def test_same_ends_1():
assert same_ends([5, 6, 45, 99, 13, 5, 6], 1) == False
def test_same_ends_2():
assert same_ends([5, 6, 45, 99, 13, 5, 6], 2) == True
def test_same_ends_3():
assert same_ends([5, 6, 45, 99, 13, 5, 6], 3) == False
def test_same_ends_4():
assert same_ends([1, 2, 5, 2, 1], 1) == True
def test_same_ends_5():
assert same_ends([1, 2, 5, 2, 1], 2) == False
def test_same_ends_6():
assert same_ends([1, 2, 5, 2, 1], 0) == True
def test_same_ends_7():
assert same_ends([1, 2, 5, 2, 1], 5) == True
def test_same_ends_8():
assert same_ends([1, 1, 1], 0) == True
def test_same_ends_9():
assert same_ends([1, 1, 1], 1) == True
def test_same_ends_10():
assert same_ends([1, 1, 1], 2) == True
def test_same_ends_11():
assert same_ends([1, 1, 1], 3) == True
def test_same_ends_12():
assert same_ends([1], 1) == True
def test_same_ends_13():
assert same_ends([], 0) == True
def test_same_ends_14():
assert same_ends([4, 2, 4, 5], 1) == False