[爆卦]排列組合 範例是什麼?優點缺點精華區懶人包

為什麼這篇排列組合 範例鄉民發文收入到精華區:因為在排列組合 範例這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者forestfire ( 讓 愛 重 生)看板EzHotKey標題[AHK-] 排列組合暴...


https://drive.google.com/drive/u/0/folders/1Fms0CflpSkAy4GChb098KmC_lHFWQHjL

2021/04/14 初版

排列組合暴力解的Lib,詳情見連結

6個lib
1.n型
即跑出[1~3,1~4,1~5]的2D陣列

n1問題:從digits陣列中重複取數字,最後小於n值

2.c型
即c幾取幾的排列組合的2D陣列
(左邊數小於右邊的數)

C1問題:i值差k以內且v值差t以內,若有符合回傳true
i2v從排列組合得i,轉成nums的v值
C2問題:怎樣拿取得最多,篩選排列組合符合條件,最大值怎麼寫

3.p型
即數學p的排列組合,12345全跑這種
若要1234 ~ 4321這種,先c在p

p1問題:求出經過abcd四點之間的最短距離


4.h型
即數學h的排列組合
x+y+z=10
x>=1
y>=1
z>=1

H1問題:字母加起來等於某個值,使用add跑法即跑到符合就中斷(其它c、n也有add跑法)

5.selfClone
將數列複製一樣的數目,並從後面加新值
此範例靠本來最後一個值 +1 +0 -1

6.F_Array
陣列的lib
請放在路徑一
C:\Program Files\AutoHotkey\Lib\
或請放在路徑二
C:\Program Files (x86)\AutoHotkey\lib
依系統有所區別
--
其中一個範例

nums := [2,7,9,3,1,10]

len:=nums.length()

max=0
ayr:=[]
for i,v in CaddReturnAyAll(nums.length(),nums.length()//2+1)
{
sum=0
if Filter(v) ;篩選陣列,留下想要的值
{
for i2,v2 in v
sum+= nums[v2]
if (max<sum)
{
max:=sum
ayr:=v
}
}
}
;ayr 取得nums的i位置
pay2data(ayr,"最大值為" max)
return

#include <F_Array>
#include c.ahk


Filter(ay){
loop % ay.length()-1
if (ay[a_index]+1)==(ay[A_index+1])
return false
return true
}

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.220.213 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/EzHotKey/M.1618396273.A.431.html
Sylph: 推 04/15 23:17
※ 編輯: forestfire (59.115.12.11 臺灣), 05/08/2021 16:33:06
※ 編輯: forestfire (59.115.12.11 臺灣), 05/08/2021 16:34:17

你可能也想看看

搜尋相關網站