Java实现:LeetCode距离相等的条形码

  • 题目:
  • Java实现:LeetCode距离相等的条形码_第1张图片
  • 代码:
  • public class text5 {
        public static void main(String[] args) {
            int[] barcodes={7,7,7,8,5,7,5,5,5,8};
            int[] retBarcodes = rearrangeBarcodes(barcodes);
            for (int i=0;i0){
                    --cnt[id];
                    ret[j] = id;
                }
                else{
                    break;
                }
            }
            if(j>=barcodes.length){
                j=1;
            }
            /**
             * 上边插入:
             *      [5] [] [5] [] [5] [] [5] [] [这里是j指向的位置] []
             */
            //之后紧接着上边判断的位置,进行插入元素
            for(int i=1;i<=10000;++i){
                while(cnt[i]>0){
                    --cnt[i];
                    ret[j]=i;
                    j+=2;
                    if(j>=barcodes.length){
                        j=1;
                    }
                }
            }
            return ret;
        }
    }
    
  • 实例:

你可能感兴趣的:(Java实现的算法)