python検索最値アルゴリズム


最低価格検索アルゴリズム
与えられたn個の数字の中で最大の数字を検索するアルゴリズムを作成します!
アルゴリズムの内容を大体整理して、
1.17、92、18、33、58、7、33、42の中から最低価格を探し出す
2.最初の数字(17)を最値として記憶する
3.2番目の数字92を現在の最安値(17)と比較した後、より大きな値を最安値(92)として記憶する
4.3番目の数字から2~3を繰り返す
5.最後の比較で現在の最低価格(92)と42を比較する
6.最後に最も記憶された数字92は、与えられた数字の中で最も記憶されている数字である
def find_max(a):
  n = len(a)
  max_v = a[0] 		# 리스트의 첫번째 값을 최댓값으로 먼저 저장
  for i in range(1, n): # 1부터 n-1까지 반복
    if a[i] > max_v: 	# 지금 값이 현재 최댓값보다 크면
      max_v = a[i] 	# 최댓값 변경
  
  return max_v

#리스트를 함수에 넣어보기
v = [17, 92, 18, 33, 58, 7, 33, 42]
print(find_max(v))
# 결과 : 92
適用場所の検索
リストにn個の数字があるときに最大値を持つ位置番号を返すアルゴリズムを作成します.
リスト内のある場所に最低価格を少し適用する問題
def find_max_idx(a):
  n = len(a)
  max_idx = 0 		# 리스트 중 0번 위치를 최댓값 위치로 기억
  for i in range(1, n):
    if a[i] > a[max_idx]: # 지금 값이 현재 최댓값보다 크면
      max_idx = i 	# 최댓값 위치 변경
  
  return max_idx

v = [17, 92, 18, 33, 58, 7, 33, 42]
print(find_max_idx(v))
# 결과 : 1
適用さいこうをさがす
def find_min(a):
  n = len(a)
  min_v = a[0] 	# 리스트의 첫번째 값을 최솟값으로 먼저 저장
  for i in range(1, n): # 1부터 n-1까지 반복
    if a[i] < min_v: 	# 지금 값이 현재 최솟값보다 작으면
      min_v = a[i] 	# 최솟값 변경
  
  return min_v

v = [17, 92, 18, 33, 58, 7, 33, 42]
print(find_min(v)) 
#결과 : : 7
  • 最高価格の位置を探して
  • def find_min_idx(a):
      n = len(a)
      min_idx = 0 		# 리스트 중 0번 위치를 최솟값 위치로 기억
      for i in range(1, n):
        if a[i] < a[min_idx]: # 지금 값이 현재 최솟값보다 작으면
          min_idx = i 	# 최솟값 위치 변경
      
      return min_idx
    
    v = [17, 92, 18, 33, 58, 7, 33, 42]
    print(find_min_idx(v))
    # 결과 : 5
    Reference
    すべての人のアルゴリズムとPython、吉友