1. 程式人生 > >演算法題(1)——輸出指定字串所有排列組合

演算法題(1)——輸出指定字串所有排列組合

題目介紹:

輸入給定字串,輸出所有排列可能

例如:給定字串為 1234. 輸出所有排列可能:1234 1324 1423 1432。

public class Class01 {
    public static void main(String[] args) {
        String[] array = new String[]{"a","b","b"};
        listAll(Arrays.asList(array), "",array.length);
    }

    public static void listAll(List candidate,String prefix,int l){
        if (prefix.length()==l){
            System.out.println(prefix);
        }
        for (int i=0;i<candidate.size();i++){
            List tmp = new LinkedList(candidate);
            listAll(tmp, prefix + tmp.remove(i),l);
        }
    }
}

相關推薦

演算法1——輸出指定字串所有排列組合

題目介紹:輸入給定字串,輸出所有排列可能例如:給定字串為 1234. 輸出所有排列可能:1234 1324 1423 1432。public class Class01 { public static void main(String[] args) {

JAVA 輸出指定字串所有排列組合

題目介紹: 輸出給定陣列或者字串,輸出所有排列可能。 例如:給定字串為 1234. 輸出所有排列可能:1234 1324 1423 1432.。。。。。。。  下面程式碼是蒐集到的比較簡潔的實現方式。共享一下 public class MySocket { public

劍指Offer演算法1

class Solution { public: bool Find(int target, vector<vector<int> > array) { int i,j; i=0; j=array[0].size()-1;

Python的100道經典演算法1

按照c語言的100道經典演算法題,自己原創寫的,就得是自己的練習題了 【程式1】 題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少? 程式分析:可填在百位、十位、個

基礎演算法1—— 題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的四位數?

題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的四位數? 分析題目,要求將1,2,3,4四個數字成各個位數不相同且無重複的四位數,可以寫四個for迴圈,每一個迴圈代表一個位數上的數字,即1——4,再定義一個int型的變數count,初始值為

Java易錯1

輸出 col 順序執行 執行 AR new rgs oid hello 檢查程序,是否存在問題,如果存在指出問題所在,如果不存在,說明輸出結果。 public class HelloB extends HelloA { public HelloB() { } {

資料結構與演算法入門1

一、資料結構 資料之間相互存在的一種或多種特定的關係的元素的集合。 邏輯結構 資料物件中資料元素之間的相互關係 1.集合結構 在資料結構中,如果不考慮資料元素之間的關係,這種結構稱為集合結構。 各個元素是平等的,共同屬性是屬於同一個集合 2.線性結構 線性結構中的資料元素之間

劍指offer演算法二維陣列中的查詢

劍指offer演算法題(一) 題目1:二維陣列中的查詢 在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 思路分析:  從左上往右下方來解決這個問題  例如在

機器學習十大經典演算法1C4.5演算法

C4.5演算法是機器學習演算法中的一種分類決策樹演算法,其核心演算法是ID3演算法. C4.5演算法繼承了ID3演算法的優點,並在以下幾方面對ID3演算法進行了改進: 1)用資訊增益率來選擇屬性,克服了用資訊增益選擇屬性時偏向選擇取值多的屬性的不足;   &nbs

leetcode 刷1--- 兩數之和

給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例:   給定 nums = [2, 7, 11, 15], target = 9   因為 nums[0] + nums[1] = 2 + 7 = 9   所以返回 [0

iOS開發簡記1指定APP的圖標與啟動圖

appstore 技術分享 tps http data 對象 暫時 -c 系統 各位兄弟姐妹們,早上好,本人花了將近一個月的時間打造了一個完整的IOS版的App, 期間包括開發,測試,上線審核,現在花點時間把實現的過程分享給大家,“知音”app功能簡單,適合對象為初學者,後

第十二週專案3 - 圖遍歷演算法實現1

/*Copyright (c) 2015, 煙臺大學計算機與控制工程學院 * All rights reserved. * 檔名稱:H1.cpp * 作者:辛志勐 * 完成日期:2015年11月23日 * 版本號:VC6.0 * 問題描述:實現圖遍歷演算法,輸出圖結構的深度優先(DFS)遍歷序列

那些年,面試中常見的資料結構基礎和演算法

前言 這是 資料結構和演算法面試題系列的下半部分,這部分主要是演算法類 包括二分查詢、排序演算法、遞迴演算法、隨機演算法、揹包問題、數字問題等演算法相關內容。本系列完整程式碼在 github 建了個倉庫,所有程式碼都重新整理和做了一些基本的測試,程式碼倉庫地址在這裡: shishujuan/dsalg

牛客661二維陣列查詢

在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 class Solution { public: bool Find(int target,

演算法優化1:基礎知識-凸集,單峰函式,擬凸函式與凸函式,函式凹凸性定義

本文筆記介紹我最近學習的演算法優化的基礎知識,有: 最優化問題的一般形式 約束問題的分類及形式 優化問題的分類 單峰函式(Unimodal function)的定義 擬凸函式(Quasiconvex function)的定義

【精選】JAVA入門演算法

跌倒了,一定要爬起來。不爬起來,別人會看不起你,你也會失去機會。 1.題目:打印出楊輝三角形(要求打印出10行) 什麼是楊輝三角呢?下面這個就是 楊輝三角最大的特性就是每個數字都是該數字肩上的兩個數字之和,這道題經常在學習二維陣列和迴圈控制中出現 我們可以假設

java檔案操作 1——判別指定檔案是否存在,讀取檔案修改時間和大小,讀取文字檔案內容,向文字檔案中寫入指定內容

任務要求: 完成一個java application應用程式,判別指定路徑下指定檔名的檔案是否存在。 如果指定檔案存在,讀取並分別顯示其修改時間和檔案大小等屬性。 以文字方式開啟某一指定路徑指定檔名的文字檔案,讀取其內容並顯示。 以文字方式向某

C# 指南學習筆記1-HelloWorld,字串內插

使用 Visual Studio 2017 生成 C# .NET Core Hello World 應用程式:https://docs.microsoft.com/zh-cn/dotnet/core/tutorials/with-visual-studio

演算法練習1動態規劃:買賣股票的最佳時機1

給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。 注意你不能在買入股票前賣出

【精選】JAVA入門演算法

把敬業變成習慣。短期來看是為了僱主,長期來看是為了自己。 1.題目:輸入一行字元,分別統計出其中英文字母、空格、數字和其它字元的個數。 估計統計字元是所有人都做過的題 這裡給出兩種思路,第一種思路是比較ASCII碼,第二種是使用正則匹配 private static