全排列
本文最后更新于 200 天前,其中的信息可能已经有所发展或是发生改变。
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
/*全排列算法是一种非常暴力的算法,其时间复杂度为O(n!),但对于某些特定的题目,解决起来非常方便.在蓝桥杯比赛中,基本每年的题目都有1-2题可以使用全排列进行解决. 全排列算法是暴力解题或枚举解题的核心,我们可以把它作为模板进行理解和默写,在比赛中使用该模板可以快速解决问题,节省时间. 本文介绍的是无重复元素的全排列算法的递归实现, 对于有重复元素的全排列算法的实现,欢迎大家去自行实现!*/public class Main {
static int count=0;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int[] arr = {1,2,3,4,5,6,7,8,9};
fullSort(arr,0,8);
System.out.println(count);//解法结果
}
public static void fullSort(int[] arr,int start,int end){//调用fullsort函数???
if(start==end){////arr数组存放排列的数,start表示层数,end表示数组的长度
int a = arr[0];
int b = arr[1];
int c = arr[2];
int d = arr[3];
int e = arr[4];
int f = arr[5];
int g = arr[6];
int h = arr[7];
int i = arr[8];
if(a+b*1.0/c+(d*100+e*10+f)*1.0/(g*100+h*10+i)==10) count++;
}
for(int i=start;i<=end;i++){
swap(arr,start,i);
fullSort(arr,start+1,end);
swap(arr,start,i);
}
}
public static void swap(int[] arr,int i,int j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;//回溯??
}
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇