亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

面試之求找兩個數和為某個數、幾個連續數等于某個數

2019-11-15 00:59:01
字體:
來源:轉載
供稿:網友
面試之求找兩個數和為某個數、幾個連續數等于某個數

  問題1、輸入一個遞增排序數組和一個數字s,在數組中查找兩個數,使得它們的和正好是s,如果有多對數字的和等于s,輸出任意一對即可。

  顯然,很快能想到的是使用蠻力法(O(n2)),先固定一個數字,再判斷剩下的n-1個數字與它的和是否等于s。這種效率顯然有點低,我們可以使用下面比較快的方式,時間復雜度O(n)。

  思路:我們通過兩個記錄數組的開始位置和結束位置,從數組的尾部開始,求兩個數字的和,

    如果兩個數的和大于我們需要求的數s,則后面的記錄前移一位(因為是排好序的,前移一位,相當于數值減少),再進行判斷,

    如果兩個數的和小于我們要求的數s,則前面的位置記錄后移一位(因為是排好序的,后移一位,相當于數值增加),再進行判斷,

    直至找到或者后面或前面的位置記錄重合。

代碼實現

/**     * 輸入一個遞增排序數組和一個數字s,在數組中查找兩個數,使得它們的和正好是s,如果有多對數字的和等于s,輸出任意一對即可。因為java只能     * 有一個返回值,這里返回了真假,或者可以改成數組,返回查找到的兩個數,這里就實現返回是否找到,如果找到就打印出來!     * @param data 待查找的遞增數組     * @param length 數組長度     * @param sum 要查找的和     * @return 是否查找成功!     */    public static boolean FindNumberWithSum(int data[],int length,int sum)    {        boolean found = false;        if(length < 1)        {                return found;        }                int ahead = length -1 ;  //較大數字的下標        int behind = 0;  //較小數字的下標                while(ahead > behind)        {            long curSum = data[ahead] + data[behind];                        if(curSum == sum)            {                System.out.

測試:

public static void main(String[] args)    {        int[] arr = {1,2,4,7,11,15};                FindSumEqualNum.FindNumberWithSum(arr,arr.length,15);    }

結果:

查找成功!兩個數為:11,4


問題2、輸入一個正數s,打印出所有和為s的連續正數序列(至少包含兩個數)。例如輸入15,由于1+2+3+4+5=4+5+6=7+8=15,所以打印出3個連續序列1~5、4~6、7~8

  同樣,使用蠻力法也可以解決該問題,即,從1開始,不斷往后累加,直到求的值等于或者小于累加值,相等代表找到,所求值 < 累加值 ,則證明沒找到, 累加初值加一,繼續計算??梢?,這樣子會重復計算很多次中間的加法,我們可以通過下面的方式,較快速得出結果,盡量減少重復的累加。

  思路:使用兩個數small和big分別表示序列的最小值和最大值。首先把small初始化為1,big初始化為2,

     如果從small到big的序列的和大于s,我們可以從序列中減去較小的值,也就是增加small的值。

     如果從small到big的序列的和小于s,我們可以增大big讓這個序列包含更多的數字。

     因為序列至少有兩個數字,我們一直增加small到(1+s)/2為止。

代碼實現

輸出查找到的連續數

/**     * 輸出從數small到big之間的所有數     * @param small 開始數【包含】     * @param big  結束數【包含】     */    public static void PrintContinuousSequence(int small,int big)    {        for(int i = small ; i <= big ; i++)        {            System.out.print(i + ",");        }        System.out.println("");    }

核心函數

    /**     * 輸入一個正數s,打印出所有和為s的連續正數序列(至少包含兩個數)     * @param sum 要求的連續的序列的和     */    public static void FindSeriousSequence(int sum)    {        if(sum < 3)        {            return ;        }        int small = 1;        int big = 2;        int middle = (1 + sum) / 2;        int curSum = small + big;                while(small < middle)        {            if(curSum == sum)            {                PrintContinuousSequence(small,big);            }            while(curSum > sum && small < middle)            {                curSum -= small;                small ++;                                if(curSum == sum)                {                    PrintContinuousSequence(small, big);                }            }                        big ++;            curSum += big;                    }    }

測試

public static void main(String[] args)    {        FindSeriousSequence(15);    }

結果:

1,2,3,4,5,4,5,6,7,8,

  感謝您的耐心查看!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
狠狠色香婷婷久久亚洲精品| 久热精品视频在线免费观看| 久久亚洲欧美日韩精品专区| 欧美重口另类videos人妖| 国产精品亚洲视频在线观看| 国产成人在线一区二区| 91丨九色丨国产在线| 亚洲成人免费网站| 这里只有精品在线观看| 在线视频欧美日韩| 日韩在线观看视频免费| 日韩一区在线视频| 国产精品流白浆视频| 91在线色戒在线| 亚洲精品久久视频| 7m精品福利视频导航| 亚洲18私人小影院| 国产综合色香蕉精品| 日韩有码在线观看| 第一福利永久视频精品| 高清日韩电视剧大全免费播放在线观看| 国产在线观看91精品一区| 插插插亚洲综合网| 亚洲精品短视频| 欧美色xxxx| 精品二区三区线观看| 亚洲第一色在线| 欧美激情亚洲综合一区| 精品久久久91| 亚洲天堂男人的天堂| 欧美老少配视频| 26uuu国产精品视频| 国产精品狼人色视频一区| 欧美激情va永久在线播放| 在线电影av不卡网址| 国产精品女主播视频| 黑人巨大精品欧美一区免费视频| 国产视频精品久久久| 欧美成人精品在线观看| 国产一级揄自揄精品视频| 亚洲人成网7777777国产| 亚洲欧洲中文天堂| 国产成人午夜视频网址| 欧美天天综合色影久久精品| 色综合视频一区中文字幕| 久久在线免费观看视频| 日韩在线精品视频| 91免费看片网站| 97免费视频在线| 久久精品夜夜夜夜夜久久| 最近2019年日本中文免费字幕| 91美女片黄在线观| 国产精品免费一区| 亚洲成年人在线播放| 日韩a**站在线观看| 国产精品女人久久久久久| 2019中文字幕全在线观看| 91爱视频在线| 亚洲美女精品成人在线视频| 亚洲丝袜一区在线| 亚洲精品国产精品国自产观看浪潮| 欧美成人免费观看| 国产福利视频一区| 欧美日韩国产丝袜美女| 高潮白浆女日韩av免费看| 26uuu另类亚洲欧美日本老年| 欧美小视频在线| 一区二区中文字幕| 欧美肥婆姓交大片| 茄子视频成人在线| 成人妇女淫片aaaa视频| 欧美专区在线观看| 欧美视频二区36p| 国产91九色视频| 欧美成人免费va影院高清| 色综合亚洲精品激情狠狠| 日韩大陆欧美高清视频区| 久久影院中文字幕| 国产精品人人做人人爽| 欧美激情视频免费观看| 欧美日韩免费在线| 国产精品入口夜色视频大尺度| 91精品国产九九九久久久亚洲| 永久免费毛片在线播放不卡| 国产欧美婷婷中文| 亚洲bt天天射| 亚洲精品一区中文| 中日韩美女免费视频网址在线观看| 国产精品精品久久久| 最近的2019中文字幕免费一页| 久久久av免费| 一本一道久久a久久精品逆3p| 欧美国产视频一区二区| 精品女同一区二区三区在线播放| 欧美日韩国产999| 日韩av一卡二卡| 久久精品一偷一偷国产| 国产69精品久久久| 国产亚洲激情在线| 国产99视频精品免视看7| 伊人精品在线观看| 91最新在线免费观看| 亚洲电影第1页| 91精品国产91久久久久久不卡| 成人午夜黄色影院| 亚洲精品videossex少妇| 亚洲欧美日韩一区二区在线| 亚洲在线免费观看| 国产精品jvid在线观看蜜臀| 一本色道久久88精品综合| 成人国产精品av| 国产精品三级美女白浆呻吟| 亚洲精品美女视频| 欧美国产视频日韩| 91久久精品视频| 日韩精品中文字幕久久臀| 国产自产女人91一区在线观看| 国产suv精品一区二区三区88区| 国产成人激情小视频| 久久久久久久久电影| 亚洲人高潮女人毛茸茸| 亚洲性线免费观看视频成熟| 日韩美女免费观看| 中文字幕在线看视频国产欧美在线看完整| 国产精品一区二区女厕厕| 欧美日韩福利在线观看| 欧美性生交xxxxx久久久| 亚洲国产中文字幕在线观看| 国产精品久久久久秋霞鲁丝| 欧美精品久久久久a| 45www国产精品网站| 久久久久久久一区二区| 色偷偷偷亚洲综合网另类| 久久久久国色av免费观看性色| 亚洲精品电影在线| 7m第一福利500精品视频| 日本亚洲精品在线观看| 亚洲精品动漫100p| 欧美一区深夜视频| 国a精品视频大全| 国产精品久久久av| 欧美成人精品在线观看| 日韩在线视频二区| 成年人精品视频| 欧美日韩成人网| 粉嫩老牛aⅴ一区二区三区| 久久人人97超碰精品888| 91国内揄拍国内精品对白| 亚洲精品国精品久久99热| 欧美在线视频网站| 国内精品400部情侣激情| 欧美日韩国产中文精品字幕自在自线| 久久久视频免费观看| 亚洲性猛交xxxxwww| 色av中文字幕一区| 欧美国产日韩一区| 国产欧美日韩免费| 日韩精品免费在线观看| 日本欧美一级片| 国产精品视频xxxx| 国产一区红桃视频| 26uuu亚洲伊人春色| 欧美极品欧美精品欧美视频| 久久久精品2019中文字幕神马|