面试中常见的算法题和其python实现

在面试中,常见的算法题包括排序算法、查找算法、动态规划、贪心算法等。以下是一些常见算法题及其Python实现示例:

1. 快速排序(Quick Sort):

  • 题目描述:给定一个数组,使用快速排序算法对数组进行排序。
  • 示例代码:
python 复制代码
   def quickSort(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 quickSort(left) + middle + quickSort(right)

2. 二分查找(Binary Search):

  • 题目描述:给定一个已排序数组和一个目标值,使用二分查找算法在数组中查找目标值的索引。
  • 示例代码:
python 复制代码
   def binarySearch(nums, target):
       left, right = 0, len(nums) - 1
       while left <= right:
           mid = (left + right) // 2
           if nums[mid] == target:
               return mid
           elif nums[mid] < target:
               left = mid + 1
           else:
               right = mid - 1
       return -1

3. 最长递增子序列(Longest Increasing Subsequence):

  • 题目描述:给定一个无序的整数数组,找到其中最长的递增子序列的长度。
  • 示例代码:
python 复制代码
   def lengthOfLIS(nums):
       if not nums:
           return 0
       dp = [1] * len(nums)
       for i in range(len(nums)):
           for j in range(i):
               if nums[i] > nums[j]:
                   dp[i] = max(dp[i], dp[j] + 1)
       return max(dp)

4. 零钱兑换(Coin Change):

  • 题目描述:给定一些不同面额的硬币和一个总金额,计算出凑成总金额所需的最少硬币数量。
  • 示例代码:
python 复制代码
   def coinChange(coins, amount):
       dp = [float('inf')] * (amount + 1)
       dp[0] = 0
       for i in range(1, amount + 1):
           for coin in coins:
               if i >= coin:
                   dp[i] = min(dp[i], dp[i-coin] + 1)
       return dp[amount] if dp[amount] != float('inf') else -1
相关推荐
BS30813_vx22 分钟前
【编号:01652】Spring Boot村务管理系统:财务公开、党建活动与计生服务一体化实战
开发语言·python
边吃番茄边敲代码34 分钟前
从本地工具到 MCP:给 Agent 接入独立工具服务,并补齐自动化测试
人工智能·python·功能测试·ai·单元测试·pytest
SugarAbsinthe42 分钟前
【Agent开发实习小记】从人工逐条验证到自动化验收:新 API 接入前的效率瓶颈
人工智能·python·自动化·pytest
liwulin05061 小时前
【VSCODE】能在终端打印的图标
python
_Narcissus_1 小时前
分治&递归
数据结构·c++·笔记·算法·leetcode·递归·分治
明志数科1 小时前
具身智能数据工程全链路解析:从真实产线采集到LeRobot适配
网络·人工智能·算法
小O的算法实验室1 小时前
AAAI-26,Lehmer编码搜索排列空间的理论与实证分析
算法
lch2011_yb1 小时前
CSP-S 2023 密码锁 题解
算法
桃西西呀1 小时前
「百年一遇」的台风,为什么我这辈子就遇了好几回?概率论把这笔账算给你看
人工智能·python·数据可视化
苏其鸿2 小时前
Python开发入门:从环境搭建到第一个实用小项目
python