与えられた配列の2つの要素と与えられた目標値にちょうど等しい最小の下付きスケールを探し出し,時間複雑度はO(n)を要求する.
タイトルの要件:
与えられた配列の2つの要素と与えられた目標値にちょうど等しい最小の下付きスケールを探し出し,時間複雑度はO(n)を要求する.
例:
入力配列[5,4,6,7,8,11]、目盛り値19
は、4、5を返します.
すべてのコードはGithubで見つけることができます.
リンクのダウンロード
与えられた配列の2つの要素と与えられた目標値にちょうど等しい最小の下付きスケールを探し出し,時間複雑度はO(n)を要求する.
例:
入力配列[5,4,6,7,8,11]、目盛り値19
は、4、5を返します.
すべてのコードはGithubで見つけることができます.
リンクのダウンロード
# -*- coding:utf-8 -*-
__author__ = 'yangxin_ryan'
"""
Question:
, , ;
O(n);
Solutions:
: Hash , Hash Hash ( )。
key ,Value ;
: list_num, ,(target - ) Hash ;
hash value -1, break , ;
O(n);
"""
class SumNumber(object):
def sum_number(self, list_num, target):
result = list()
hash_list = [-1] * (max(max(list_num), target) + 1)
for i in range(len(list_num)):
if hash_list[list_num[i]] == -1:
hash_list[list_num[i]] = i
elif hash_list[list_num[i]] > i:
hash_list[list_num