代码面试最常用的10大算法

论坛 期权论坛     
选择匿名的用户   2021-5-23 11:51   248   0
<div class="blogpost-body" id="cnblogs_post_body">
<table border="0" cellpadding="0" cellspacing="0" class="post topic" id="post-397258558"><tbody><tr><td class="post_info topic">
     <div class="post_body">
      <strong>摘要:</strong>面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序、二叉树遍历等等。
      <br>
      <br>在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。
      <br>
      <br>本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。
      <br>
      <br>
      <strong>1.String/Array/Matrix</strong>
      <br>
      <br>在Java中,String是一个包含char数组和其它字段、方法的类。如果没有IDE自动完成代码,下面这个方法大家应该记住:
      <br>
      <div>
       <div class="syntaxhighlighter java" id="highlighter_116156">
        <div class="toolbar">
         Java code
         <div class="d_clip_button">
           
         </div>
         <span class="clipboardCopyBtn" title="复制"><span class="clipboardWindowBtn"><a href="http://bbs.csdn.net/topics/390768965#clipboardWindow" title="源码">?</a></span></span>
        </div>
        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter">
            <div class="line number1 index0 alt2">
             1
            </div>
            <div class="line number2 index1 alt1">
             2
            </div>
            <div class="line number3 index2 alt2">
             3
            </div>
            <div class="line number4 index3 alt1">
             4
            </div>
            <div class="line number5 index4 alt2">
             5
            </div>
            <div class="line number6 index5 alt1">
             6
            </div>
            <div class="line number7 index6 alt2">
             7
            </div>
            <div class="line number8 index7 alt1">
             8
            </div>
            <div class="line number9 index8 alt2">
             9
            </div>
            <div class="line number10 index9 alt1">
             10
            </div> </td><td class="code">
            <div>
             <div class="line number1 index0 alt2">
              <code class="java plain">toCharArray() </code>
              <code class="java comments">//get char array of a String</code>
             </div>
             <div class="line number2 index1 alt1">
              <code class="java plain">Arrays.sort()  </code>
              <code class="java comments">//sort an array</code>
             </div>
             <div class="line number3 index2 alt2">
              <code class="java plain">Arrays.toString(</code>
              <code class="java keyword">char</code>
              <code class="java plain">[] a) </code>
              <code class="java comments">//convert to string</code>
             </div>
             <div class="line number4 index3 alt1">
              <code class="java plain">charAt(</code>
              <code class="java keyword">int</code>
              <code class="java plain">x) </code>
              <code class="java comments">//get a char at the specific index</code>
             </div>
             <div class="line number5 index4 alt2">
              <code class="java plain">length() </code>
              <code class="java comments">//string length</code>
             </div>
             <div class="line number6 index5 alt1">
              <code class="java plain">length </code>
              <code class="java comments">//array size </code>
             </div>
             <div class="line number7 index6 alt2">
              <code class="java plain">substring(</code>
              <code class="java keyword">int</code>
              <code class="java plain">beginIndex) </code>
             </div>
             <div class="line number8 index7 alt1">
              <code class="java plain">substring(</code>
              <code class="java keyword">int</code>
              <code class="java plain">beginIndex, </code>
              <code class="java keyword">int</code>
              <code class="java plain">endIndex)</code>
             </div>
             <div class="line number9 index8 alt2">
              <code class="java plain">Integer.valueOf()</code>
              <code class="java comments">//string to integer</code>
             </div>
             <div class="line number10 index9 alt1">
              <code class="java plain">String.valueOf()/integer to string</code>
             </div>
            </div> </td></tr></tbody></table>
       </div>
      </div>
      <br>String/arrays很容易理解,但与它们有关的问题常常需要高级的算法去解决,例如动态编程、递归等。
      <br>下面列出一些需要高级算法才能解决的经典问题:
      <br>
      <br>
      <a href="http://www.programcreek.com/2012/12/leetcode-evaluate-reverse-polish-notation/">Evaluate Reverse Polish Notation</a>
      <br>
      <a href="http://www.programcreek.com/2013/12/leetcode-solution-of-
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP