第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

java 遞歸問(wèn)題

java 遞歸問(wèn)題

慕碼人8056858 2019-03-13 18:15:24
數(shù)據(jù)結(jié)構(gòu)與算法分析的課后習(xí)題編寫帶有下列聲明的例程:public void permute( String str );private void permute( char [] str, int low, int high );第一個(gè)例程是驅(qū)動(dòng)程序,它調(diào)用第二個(gè)例程并顯示String str中的字符的所有排列。如果str是"abc",那么輸出的串則是abc,acb,bac,bca,cab和cba。第二個(gè)例程使用遞歸。答案如下:public class Permute{public void permute ( String str ){    permute (str.toCharArray (), 0, str.length ());    String tmp = new StringBuilder ().append (str).reverse ().toString ();    permute (tmp.toCharArray (), 0, tmp.length ());}private void permute ( char[] str, int low, int high ){    if (low == high)    {        return;    }    String result = "";    for ( int i = low; i < high; i++ )    {        result += str[i];    }    if (result.length () < str.length)    {        int count = str.length - result.length ();        for ( int i = 0; i < count; i++ )        {            result += str[i];        }    }    System.out.println (result);    permute (str, ++low, high);}public static void main ( String[] args ){    Permute permute = new Permute ();    permute.permute ("abc");}}上面的代碼,雖然也是方法自己調(diào)用自身,但感覺permute (str, ++low, high);這樣的調(diào)用其實(shí)用for循環(huán)就能寫出來(lái),這個(gè)應(yīng)該不能算是遞歸吧,求更好的遞歸解法
查看完整描述

3 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

改為迭代試試,java的遞歸默認(rèn)好像就2萬(wàn)多次


查看完整回答
反對(duì) 回復(fù) 2019-04-16
  • 3 回答
  • 0 關(guān)注
  • 553 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)