背景

工作多年,語言經(jīng)歷過C#,JAVA。但是做過的項(xiàng)目大多以業(yè)務(wù)系統(tǒng)為主,曾經(jīng)做過一些基礎(chǔ)架構(gòu)的工作,但算法一直在工作中應(yīng)用的比較少,導(dǎo)致多年之后基本都忘記完了。上一次面試過程中就有一個(gè)算法題,我能做對(duì),但是感覺不是最優(yōu)方案就放棄了。最近想想做為一個(gè)程序員,算法還是有必要再補(bǔ)習(xí)補(bǔ)習(xí)。

案例

有兩個(gè)數(shù)組,int[] arrayA=new int[]{1,3,1.....},int[] arrayB=new int[]{11,3,10.....},數(shù)組元素?zé)o序且有可能存在重復(fù)元素,請(qǐng)輸出兩個(gè)數(shù)組的交集。原題大意是這樣,細(xì)節(jié)可能有出入。

面試時(shí)我的方案

不用想,采用兩個(gè)for循環(huán)基本就能解決問題,但我又想不出來其它優(yōu)化方法,想來想去,時(shí)間白白浪費(fèi)最后居然連能做對(duì)的答案都沒去寫。

    public void testArrayIntersectionA() { int[] arrayA = new int[]{1, 1, 2, 3, 4, 4, 5, 1, 1}; int[] arrayB = new int[]{11, 1, 
        		

網(wǎng)友評(píng)論