简单算法

1、写一个函数,找到一个文件夹下所有文件,包括子文件夹

import java.io.File;
public class Counter {
    public static void main(String[] args) {
        //取得目标目录
        File file = new File("D:");
        //获取目录下子文件及子文件夹
        File[] files = file.listFiles();
        readfile(files);
    }
    
    public static void readfile(File[] files) {
        if(files == null) {// 如果目录为空,直接退出 
            return; 
        }
        for(File f:files) {
            //如果是文件,直接输出名字
            if(f.isFile()) {
                System.out.println(f.getName());
            }
            //如果是文件夹,递归调用
            else if(f.isDirectory()) {
                readfile(f.listFiles());
            }
        }
    }
}

2、将一个二维数组顺时针旋转90度

public class test14 {
        public static void main(String[] args) {
            int a[][]={{1,2,3},{4,5,6}};
            for (int[] is : a) {
                for (int i : is) {
                    System.err.print(i+",");
                }
            }
            rotate(a);
            for (int[] is : a) {
                for (int i : is) {
                    System.out.print(i+",");
                }
            }
        }
        
        public static void rotate(int[][] matrix) {
                int n = matrix.length;
                for (int i = 0; i < n/2; i++) {
                    for (int j = i; j < n-1-i; j++){
                        int temp = matrix[i][j];
                        matrix[i][j] = matrix[n-1-j][i];
                        matrix[n-1-j][i] = matrix[n-1-i][n-1-j];
                        matrix[n-1-i][n-1-j] = matrix[j][n-1-i];
                        matrix[j][n-1-i] = temp;
                    }
                }
        }
}
posted @ 2019-06-16 16:26  怡安  阅读(279)  评论(0编辑  收藏  举报