• 折纸运算


    请把纸条竖着放在桌⼦上,然后从纸条的下边向上⽅对折,压出折痕后再展 开。此时有1条折痕,突起的⽅向指向纸条的背⾯,这条折痕叫做“下”折痕 ;突起的⽅向指向纸条正⾯的折痕叫做“上”折痕。如果每次都从下边向上⽅ 对折,对折N次。请从上到下计算出所有折痕的⽅向。

    给定折的次数n,请返回从上到下的折痕的数组,若为下折痕则对应元素为"down",若为上折痕则为"up".

    测试样例:
    1
    返回:["down"]
     1 package com.offer;
     2 import java.util.*;
     3 public class FoldPaper {
     4 
     5     public static void main(String[] args) {
     6         foldPaper(3);
     7 
     8     }
     9     public static String[] foldPaper(int n) {
    10           if(n<=0)
    11               return null;
    12             ArrayList<String> arr=new ArrayList<String>();
    13             
    14             getFolder(n,1,arr,true);//先右,后中 最后左顺序
    15             String[] res=new String[arr.size()];
    16             for(int i=0;i<arr.size();i++)
    17             {
    18                 res[i]=arr.get(i);
    19                 System.out.print(res[i]+" ");
    20             }
    21             return res;
    22             
    23         }
    24         public static void getFolder(int n,int i,ArrayList<String> str,boolean down)
    25         {//类似于中序遍历,先遍历右边,在遍历中间,最后遍历左子树
    26             if(i>n)
    27                 return;
    28             getFolder(n,i+1,str,true);//getFolder(n,i+1,str,root.right)
    29             if(down)
    30                 str.add("down");
    31             else
    32                 str.add("up");
    33             getFolder(n,i+1,str,false);
    34         }
    35 }
  • 相关阅读:
    1083 List Grades (25 分)
    1075 PAT Judge (25 分)
    15. 会话之session
    我的编程路----
    jQuery
    CSS
    HTML display 属性 和 行内元素、块状元素、行内块状元素的区别
    实例1 : 返回顶部小操作(JQ + JS 实现)
    jQuery 事件方法
    为什么静态方法 不可以 被 非静态方法调用?
  • 原文地址:https://www.cnblogs.com/woainifanfan/p/6805209.html
Copyright © 2020-2023  润新知