标签:27 Hackerrank seq get result gold data array def
def minimum_index(seq):
if len(seq) == 0:
raise ValueError("Cannot get the minimum value index from an empty sequence")
min_idx = 0
for i in range(1, len(seq)):
if seq[i] < seq[min_idx]:
min_idx = i
return min_idx
class TestDataEmptyArray(object):
@staticmethod
def get_array():
# complete this function
return []
class TestDataUniqueValues(object):
data=[]
for i in range(10):
data.append(10-i)
@staticmethod
def get_array():
# complete this function
return TestDataUniqueValues.data
@staticmethod
def get_expected_result():
# complete this function
data = TestDataUniqueValues.get_array()######
return data.index(min(data)) #####
class TestDataExactlyTwoDifferentMinimums(object):
data =[]
for i in range(10):
data.append(i)
data.append(0)
@staticmethod
def get_array():
# complete this function
return TestDataExactlyTwoDifferentMinimums.data
@staticmethod
def get_expected_result():
# complete this function
data=TestDataExactlyTwoDifferentMinimums.get_array()
return data.index(min(data))
def TestWithEmptyArray():
try:
seq = TestDataEmptyArray.get_array()
result = minimum_index(seq)
except ValueError as e:
pass
else:
assert False
def TestWithUniqueValues():
seq = TestDataUniqueValues.get_array()
assert len(seq) >= 2
assert len(list(set(seq))) == len(seq)
expected_result = TestDataUniqueValues.get_expected_result()
result = minimum_index(seq)
assert result == expected_result
def TestiWithExactyTwoDifferentMinimums():
seq = TestDataExactlyTwoDifferentMinimums.get_array()
assert len(seq) >= 2
tmp = sorted(seq)
assert tmp[0] == tmp[1] and (len(tmp) == 2 or tmp[1] < tmp[2])
expected_result = TestDataExactlyTwoDifferentMinimums.get_expected_result()
result = minimum_index(seq)
assert result == expected_result
TestWithEmptyArray()
TestWithUniqueValues()
TestiWithExactyTwoDifferentMinimums()
print("OK")
weixin_45405128 发布了124 篇原创文章 · 获赞 90 · 访问量 4223 私信 关注
标签:27,Hackerrank,seq,get,result,gold,data,array,def 来源: https://blog.csdn.net/weixin_45405128/article/details/103975836
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。