python的经典算法题

1年前 (2023-09-28)阅读152回复0
钱良钗
钱良钗
  • 注册排名10014
  • 经验值0
  • 级别
  • 主题0
  • 回复0
楼主

Python 作为一种流行的计算机语言,因其兼具易用性与高效性,成为了很多程序员的首选语言。Python 中的算法题也因其经典与实用而备受关注。在本文中,我们将介绍其中的一些经典算法题及其解法。

一、翻转数字 - 翻转数字是 Python 中一个简单的算法题。对于一个整数,我们需要将其翻转后输出。

def reverse_num(num):
res = 0
while num >0:
res = res * 10 + num % 10
num = num // 10
return res

二、二分查找 - 二分查找是一种快速查找有序数组中特定元素的算法。给定一个有序数组和查找元素,我们可以通过二分查找将查找时间从 O(n) 降低到 O(log n)。

def binary_search(arr, target):
left = 0
right = len(arr) - 1
while left<= right:
mid = left + (right - left) // 2
if arr[mid] == target:
return mid
elif arr[mid]< target:
left = mid + 1
else:
right = mid - 1
return -1

三、快速排序 - 快速排序是一种高效的排序算法,它利用了“分治”思想,将待排序序列划分为较小和较大的两个子序列,再对两个子序列递归排序,最终将整个序列排序。

def quick_sort(arr):
if len(arr)<= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x< pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x >pivot]
return quick_sort(left) + middle + quick_sort(right)

以上就是 Python 中几个经典的算法题及其解法。这些算法题涵盖了Python中基础的数值计算、查找以及排序等方面的知识,正是很好的练习和提高编程技能的机会。

本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。

本文地址:https://www.pyask.cn/info/731.html

0
回帖

python的经典算法题 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息