个最常见的Java算法 下载本文

内容发布更新时间 : 2024/12/25 22:44:01星期一 下面是文章的全部内容请认真阅读。

个人收集整理资料, 仅供交流学习, 勿作商业用途

代码面试最常用的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