From dc38614bc3cba86365175fec2d897f24fcb8a084 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 11 六月 2020 15:44:20 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/model/Shelves.java | 23 ++++++++++++++++++----- 1 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/common/model/Shelves.java b/src/main/java/com/zy/common/model/Shelves.java index f8cebc4..e52be88 100644 --- a/src/main/java/com/zy/common/model/Shelves.java +++ b/src/main/java/com/zy/common/model/Shelves.java @@ -5,6 +5,7 @@ import java.util.List; /** + * <strong>绔嬪簱璐ф灦瀹炰綋绫�</strong> * Created by vincent on 2020/6/11 */ public class Shelves { @@ -16,15 +17,20 @@ private final int group; // 鍋忕Щ閲廩default:0] - private int offset = 0; + private final int offset; - // 璐ф灦瀹炰緥鑺傜偣 + // 璐ф灦瀹炰緥鑺傜偣闆嗗悎 private List<List<Integer>> nodes; public Shelves(int size, int group) { this(size, group, 0); } + /** + * @param size 璐ф灦鍗曟帓鎬绘暟 + * @param group 璐ф灦缁勬暟閲� + * @param offset 搴忓垪鍙峰亸绉婚噺 + */ public Shelves(int size, int group, int offset) { this.size = size; this.group = group; @@ -33,15 +39,15 @@ } /** - * 鍒濆鍖� + * 鍒濆鍖栨柟娉曘�愮鏈夈�� */ private void init(){ if (group == 0 || size%group != 0) { throw new RuntimeException("shelves init fail!"); } nodes = new ArrayList<>(); - for (int g = 1; g <= this.group; g++){ // 1 2 - int unit = size/group; // 4 + for (int g = 1; g <= this.group; g++){ + int unit = size/group; List<Integer> node = new ArrayList<>(); for (int i = (g-1)*unit+1+offset ; i <= g*unit+offset; i++){ node.add(i); @@ -51,6 +57,12 @@ } /** + * 寮�濮嬭绠� =======>>> + * 璐ф灦鍛戒腑瑙勫垯濡備笅锛� + * 瀹夎浣嶇疆锛� [1] [2] | [3] [4] -------- [5] [6] | [7] [8] + * 鍛戒腑椤哄簭锛� 1 -> 5 -> 4 -> 8 -> 2 -> 6 -> 3 -> 9 + * 1.璇ヨ鍒欓�備笉闄愬埗璐ф灦鏁伴噺锛屾�绘暟涓庣粍鍒湪鏋勯�犲櫒涓缃� + * 2.濡傛湁搴忓垪鍙疯捣濮嬮棶棰橈紝鐢ㄥ亸绉婚噺瑙勯伩鍗冲彲 * * @param curSeq 褰撳墠璐ф灦鍙� * @return 瑙勫垯鍛戒腑璐ф灦鍙� @@ -83,6 +95,7 @@ return 0; } + public static void main(String[] args) throws InterruptedException { Shelves shelves = new Shelves(4,2); System.out.println(shelves.nodes.toString()); -- Gitblit v1.9.1