内容发布更新时间 : 2024/11/17 0:44:04星期一 下面是文章的全部内容请认真阅读。
个人收集整理资料, 仅供交流学习, 勿作商业用途
代码面试最常用的10大算法
发表于2018-04-10 11:34| 16225次阅读| 来源ProgramCreek| 279 条评论| 作者X Wang Java面试算法排序二叉树归并排序职业生涯
摘要:面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序、二叉树遍历等等。
在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。
本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。
1.String/Array/Matrix
在Java中,String是一个包含char数组和其它字段、方法的类。如果没有IDE自动完成代码,下面这个方法大家应该记住:
toCharArray(> //get char array of a String Arrays.sort(> //sort an array Arrays.toString(char[] a> //convert to string 1 / 24
个人收集整理资料, 仅供交流学习, 勿作商业用途
charAt(int x> //get a char at the specific index length(> //string length length //array size substring(int beginIndex> substring(int beginIndex, int endIndex> Integer.valueOf(>//string to integer String.valueOf(>/integer to string String/arrays很容易理解,但与它们有关的问题常常需要高级的算法去解决,例如动态编程、递归等。
下面列出一些需要高级算法才能解决的经典问题:
? ? ? ? ? ? ? ?
Evaluate Reverse Polish Notation Longest Palindromic Substring 单词分割 字梯
Median of Two Sorted Arrays 正则表达式匹配 合并间隔 插入间隔
2 / 24
个人收集整理资料, 仅供交流学习, 勿作商业用途
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Two Sum 3Sum 4Sum 3Sum Closest String to Integer 合并排序数组 Valid Parentheses 实现strStr(> Set Matrix Zeroes 搜索插入位置
Longest Consecutive Sequence Valid Palindrome 螺旋矩阵 搜索一个二维矩阵 旋转图像 三角形
Distinct Subsequences Total Maximum Subarray 删除重复的排序数组 删除重复的排序数组2 查找没有重复的最长子串 包含两个独特字符的最长子串
3 / 24