美文网首页
笔试题之算法类(不定期更新。。。)

笔试题之算法类(不定期更新。。。)

作者: 吴既稳 | 来源:发表于2018-08-20 22:37 被阅读4次

最近在准备一些面试,突然觉得不能长久的待在一个舒适区里,决定走出去看一看。现将面试过程中或准备过程中碰到的一些笔试题就下来,本篇幅重点记录算法相关,可能大家在其他地方也看到过类似的题或解答,如有错误欢迎指正,如有更好的办法,也请赐教。

一.在指定的int数组中快速找出两两相加等于某个数的所有组合。

1、思路一:拿第一个数与后面所有的数依次相加,依次类推,当满足条件取出。

public  static void foo1(int[] arr,int target){
        for (int i = 0; i < arr.length; i++) {
            for (int j = i+1; j < arr.length - 1; j++) {
                if(arr[i] +arr[j] == target){
                    System.out.println(arr[i] + "," + arr[j]);
                }
            }
        }
    }

缺点:此方式是最耗时,最浪费的。举一个简单的例子:当一个最小的数和一个最大的数相加都无法满足条件时,此时该最小的数与其他数的相加均为无效计算。
2、思路二:在上述基础上,我们首先考虑一下,如何避免出现无效计算。如果我们出现了最小数和最大数的相加都无法满足时,那此时我们应该放弃该最小数的计算,改由第二小的数进行计算。这样的话就需要数组是有序的,能快速找到第二小的数即可。看代码:

 public static void foo2(int[] arr,int target){
        Arrays.sort(arr);
        int low = 0;
        int heigh = arr.length-1;

        while (low < heigh){
            //当大于目标数时,尾部前移
            if(arr[low] + arr[heigh] > target){
                heigh --;
            //当小于目标数时,头部后移
            }else if(arr[low]+ arr[heigh] < target){
                low ++;
            }else {
                low ++;
                heigh --;
                System.out.println(arr[low] + "," + arr[heigh]);
            }
        }
    }

相关文章

  • 笔试题之算法类(不定期更新。。。)

    最近在准备一些面试,突然觉得不能长久的待在一个舒适区里,决定走出去看一看。现将面试过程中或准备过程中碰到的一些笔试...

  • OC面试题目合集

    这里用来记录一些OC面试题目(不定期更新, 会逐渐补充...) 视图面试题 IOS面试题(UIView) ----...

  • 那天我只是出了趟门,却与爱情撞个满怀

    作者寄语:以我之笔,慰你之伤;风云江山,满庭月光。简小竹《古典诗词里的治愈良药》原创系列,不定期更新。尘世纷扰,愿...

  • 测试工程师面试宝典——2018-06-13

    这个面试题会不定期进行整理,内容会采用无序的方式进行添加,但会根据时间来进行更新。 2018.06.13 更新 1...

  • 序言-算法

    此文集将介绍一些经典的算法,从经典的排序算法开始不定期的补充纠错更新 1、经典排序算法 1.1桶排序Bucket ...

  • 18个常见的数据分析面试题-概率统计类

    总结了一些常见的概率与统计类的数据分析面试题,不定期更新...... 随机变量的含义 一个随机事件的所有可能的值X...

  • 奇怪的算法(常更)

    声明:本文用于收集一些奇怪精妙的算法,不定期更新 一、寻找下一个比当前数值大的2次幂的值 来源:(Java)类:F...

  • 【算法】iOS算法练习 [不定期更新]

    以前看过一句话:"诗人做学问,功夫在诗外程序员做学问,功夫在算法" 这篇文章会不定期更新,将自己练习的算法记录下来...

  • 算法-字符串之字符串转数字

    最近在看算法的书,介绍的算法面试题都没有之前的几篇那么难懂,所以一直没有更新,今天更新字符串系列的最后两个算法面试...

  • 博客阅读记录-Android

    不定期更新 2015.4.16 Android SparseArray Android应用性能优化之使用Spars...

网友评论

      本文标题:笔试题之算法类(不定期更新。。。)

      本文链接:https://www.haomeiwen.com/subject/oguqiftx.html