国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

526. Beautiful Arrangement and 254. Factor Combina

I_Am / 3430人閱讀

摘要:用的思想,加上題目的特殊意思,來(lái)解決問題。如果個(gè)數(shù)字,有種結(jié)果。這里對(duì)原題多加了一個(gè)輸出的要求,代碼如下。也是為了去重,兩個(gè)分解的解法是對(duì)稱的,乘法對(duì)稱的重點(diǎn)就是

用combination的思想,加上題目的特殊意思,來(lái)解決問題。

526 Beautiful Arrangement

Suppose you have N integers from 1 to N. We define a beautiful arrangement as an array that is constructed by these N numbers successfully if one of the following is true for the ith position (1 ≤ i ≤ N) in this array:

1.The number at the ith position is divisible by i.
2.i is divisible by the number at the ith position.

如果3個(gè)數(shù)字,有3種結(jié)果。
[1, 2, 3]
[2, 1, 3]
[3, 2, 1]
3
這里對(duì)Leetcode原題多加了一個(gè)輸出的要求,代碼如下。
public Solution{
    int count = 0;

    public int countArrangement(int N) {
        if (N == 0) return 0;
        helper(N, 1, new int[N + 1], new ArrayList());
        return count;
    }

    private void helper(int N, int pos, int[] used, List list) {
        if (pos > N) {
            count++;
            System.out.println(list.toString());
            return;
        }

        for (int i = 1; i <= N; i++) {
            if (used[i] == 0 && (i % pos == 0 || pos % i == 0)) {
                used[i] = 1;
                list.add(i);
                helper(N, pos + 1, used, list);
                list.remove(list.size()-1);
                used[i] = 0;
            }
        }
    }
}

254 Factor Combinations

比如給出的數(shù)字是12,質(zhì)因數(shù)分解的結(jié)果如下:
[
  [2, 6],
  [2, 2, 3],
  [3, 4]
]
public class Solution {
    public List> getFactors(int n) {
        List> res = new ArrayList>();
        if(n <= 3) return res;
        dfs(n, res, new ArrayList(), -1);
        return res;
    }
    
    public void dfs(int n, List> res, List path, int lower){
        // 和一般combination不同的是,每一步都要導(dǎo)入到結(jié)果中。
        if(lower != -1){
            path.add(n);
            res.add(new ArrayList<>(path));
            path.remove(path.size()-1);
        }
        
        // lower 是為了解決重復(fù)分解的問題,比如12 = 2*2*3 = 3*2*2,但是后一個(gè)是重復(fù)的, 所以分解之后factor不能變小。
        // upper 也是為了去重,12 = 3*4 = 4*3, 兩個(gè)分解的解法是對(duì)稱的,乘法對(duì)稱的重點(diǎn)就是sqrt(n).
        int upper = (int) Math.sqrt(n);
        for(int i=Math.max(2, lower); i<= upper; i++){
            if(n%i == 0){
                path.add(i);
                dfs(n/i, res, path, i);
                path.remove(path.size()-1);
            }
        }
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/66950.html

相關(guān)文章

  • Leetcode 相似題只有題號(hào)不含代碼。

    找出string里的單詞。 186. Reverse Words in a String II, 434. Number of Segments in a String combination類型題 77. Combinations 39. Combination Sum 40. Combination Sum II 216. Combination Sum III 494. Target S...

    StonePanda 評(píng)論0 收藏0
  • [LeetCode] 526. Beautiful Arrangement

    Problem Suppose you have N integers from 1 to N. We define a beautiful arrangement as an array that is constructed by these N numbers successfully if one of the following is true for the ith position ...

    GeekQiaQia 評(píng)論0 收藏0
  • [LeetCode] 254. Factor Combinations

    Problem Numbers can be regarded as product of its factors. For example, 8 = 2 x 2 x 2; = 2 x 4.Write a function that takes an integer n and return all possible combinations of its factors. Note: You ...

    Leck1e 評(píng)論0 收藏0
  • 容器最大盛水量

    摘要:容器最大盛水量給定個(gè)非負(fù)整數(shù),,,,其中每個(gè)表示坐標(biāo),處的點(diǎn)。找到兩條線,它們與軸一起形成一個(gè)容器,使得容器含有最多的水。 容器最大盛水量 Container With Most Water 給定n個(gè)非負(fù)整數(shù)a1,a2,...,an,其中每個(gè)表示坐標(biāo)(i,ai)處的點(diǎn)。 繪制n條垂直線,使得線i的兩個(gè)端點(diǎn)在(i,ai)和(i,0)處。 找到兩條線,它們與x軸一起形成一個(gè)容器,使得容器...

    luckyw 評(píng)論0 收藏0
  • 如何使用ABSL代碼調(diào)用Web service

    摘要:需求在里創(chuàng)建,然后通過(guò)代碼消費(fèi)。創(chuàng)建一個(gè)新的基于這個(gè)標(biāo)準(zhǔn)的創(chuàng)建一個(gè)因?yàn)槲沂窃诋?dāng)前系統(tǒng)上的里調(diào)用當(dāng)前系統(tǒng)提供的,所以選擇當(dāng)然這個(gè)的也是需要在這個(gè)地方自己創(chuàng)建一個(gè)的可以維護(hù)成給該創(chuàng)建的維護(hù)的將該的下載到本地。基于前一步創(chuàng)建的創(chuàng)建一個(gè)。 需求:在C4C UI里創(chuàng)建web service(maintain ticket),然后通過(guò)ABSL代碼消費(fèi)。1. 創(chuàng)建一個(gè)新的Communication ...

    ASCH 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<