leetcode 526. Beautiful Arrangement | 526. 优美的排列(回溯)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 526. Beautiful Arrangement | 526. 优美的排列(回溯)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/beautiful-arrangement/
題解
首先分析,全排列一個一個試的話(如下圖),時間復雜度O(n^2),當n=15時,總共87178291200種情況,是肯定會超時的。
然后想想怎么剪枝。因為當一個位置的一個數字不可用時,后面也就沒必要在嘗試了。所以這種情況下,剪枝,不用繼續往后走。遞歸如下。
遞歸函數中,i 是當前填寫到的位置,seen 是已經用過的數字。
總結
以上是生活随笔為你收集整理的leetcode 526. Beautiful Arrangement | 526. 优美的排列(回溯)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 1328. Break
- 下一篇: leetcode 1293. Short