当前位置: 首页 > news >正文

高频算法面试题总结

高频算法面试题总结

排序算法

1. 基础排序算法

  • 快速排序

    public void quickSort(int[] arr, int low, int high) {if (low < high) {int pivot = partition(arr, low, high);quickSort(arr, low, pivot - 1);quickSort(arr, pivot + 1, high);}
    }
    
    • 平均时间复杂度:O(n log n)
    • 空间复杂度:O(log n)
  • 归并排序

    public void mergeSort(int[] arr, int left, int right) {if (left < right) {int mid = (left + right) / 2;mergeSort(arr, left, mid);mergeSort(arr, mid + 1, right);merge(arr, left, mid, right);}
    }
    
    • 时间复杂度:O(n log n)
    • 空间复杂度:O(n)

2. 线性排序算法

  • 计数排序:适合小范围整数排序
  • 桶排序:适合均匀分布的数据
  • 基数排序:适合整数或字符串排序

查找算法

3. 二分查找

public int binarySearch(int[] nums, int target) {int left = 0, right = nums.length - 1;while (left <= right) {int mid = left + (right - left) / 2;if (nums[mid] == target) return mid;else if (nums[mid] < target) left 

相关文章:

  • 【25软考网工】第六章 网络安全(1)网络安全基础
  • 【MYSQL错误连接太多】
  • 如何构建容器镜像并将其推送到极狐GitLab容器镜像库?
  • 自定义prometheus exporter实现监控阿里云RDS
  • 5月9号.
  • 数据分析怎么做?高效的数据分析方法有哪些?
  • 多容器运行
  • Python训练营打卡DAY20
  • Android应用隐私合规:解决极光推送SDK提前收集WiFi信息问题
  • 三维底座+智能应用,重构城市治理未来
  • 【计算机视觉】OpenCV项目实战:get_inverse_perspective:基于OpenCV的透视图转化为不同平面
  • Uniapp编写微信小程序,使用canvas进行绘图
  • 企业如何将钉钉付款单高效集成到金蝶云星空?
  • 数智读书笔记系列032《统一星型模型--一种敏捷灵活的数据仓库和分析设计方法》
  • 开源数字人框架 AWESOME - DIGITAL - HUMAN:技术革新与行业标杆价值剖析
  • 从“山谷论坛”看AI七剑下天山
  • 十三、基于大模型的在线搜索平台——整合function calling流程
  • 【大语言模型ChatGPT4/4o 】“AI大模型+”多技术融合:赋能自然科学暨ChatGPT在地学、GIS、气象、农业、生态与环境领域中的应用
  • 捌拾叁- 量子傅里叶变换
  • 【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3核心文件detect.py解读
  • 庆祝上海总工会成立100周年暨市模范集体劳动模范和先进工作者表彰大会举行,陈吉宁寄予这些期待
  • 构建菌株有效降解有机污染物,上海交大科研成果登上《自然》
  • 英国和美国就关税贸易协议条款达成一致
  • 公募基金解读“一揽子金融政策”:增量财政空间或打开,有助于维持A股活力
  • 明查|这是“C919迫降在农田”?实为飞机模型将用于科普体验
  • 中国难以承受高关税压力?外交部:任何外部冲击都改变不了中国经济基本面