百度HCG 秋招提前批一面面经,难度一般[求送花]~alt13. 手撕快排import java.util.*;import java.io.*;public class Main{    public static void main(String[] args) throws IOException{        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));        int n = Integer.parseInt(reader.readLine());        int[] arr = new int[n];        String[] strs = reader.readLine().split(" ");        for(int i = 0; i < n; i++){            arr[i] = Integer.parseInt(strs[i]);        }        quickSort(arr, 0, arr.length - 1);        for(int i = 0; i < arr.length; i++){            System.out.print(arr[i] + " ");        }        reader.close();    }    public static void quickSort(int[] arr, int start, int end){        if(start < end){            int low = start;            int high = end;            int stard = arr[start];            while(low < high){                while(low < high && stard <= arr[high]){                    high--;                }                arr[low] = arr[high];                while(low < high && arr[low] <= stard){                    low++;                }                arr[high] = arr[low];            }            arr[low] = stard;            quickSort(arr, start, low);            quickSort(arr, low+1 ,end);        }    }}14. 手撕工厂模式首先,定义一个形状接口(Shape.java):public interface Shape {    void draw();}然后,实现该接口的两个具体类,圆形(Circle.java)和矩形(Rectangle.java):// Circle.javapublic class Circle implements Shape {    @Override    public void draw() {        System.out.println("Inside Circle::draw() method.");    }}// Rectangle.javapublic class Rectangle implements Shape {    @Override    public void draw() {        System.out.println("Inside Rectangle::draw() method.");    }}接下来,创建一个形状工厂(ShapeFactory.java)来生成基于给定信息的形状对象:public class ShapeFactory {    // 使用getShape方法获取形状类型的对象    public Shape getShape(String shapeType) {        if (shapeType == null) {            return null;        }        if (shapeType.equalsIgnoreCase("CIRCLE")) {            return new Circle();        } else if (shapeType.equalsIgnoreCase("RECTANGLE")) {            return new Rectangle();        }        // 默认返回null,可以根据需要抛出异常或返回null        return null;    }}最后,可以使用这个工厂类来创建形状对象并调用它们的draw方法:public class FactoryPatternDemo {    public static void main(String[] args) {        ShapeFactory shapeFactory = new ShapeFactory();        // 获取Circle的对象,并调用它的draw方法        Shape shape1 = shapeFactory.getShape("CIRCLE");        shape1.draw();        // 获取Rectangle的对象,并调用它的draw方法        Shape shape2 = shapeFactory.getShape("RECTANGLE");        shape2.draw();        // 获取不存在的形状类型的对象,将返回null        Shape shape3 = shapeFactory.getShape("SQUARE");        if (shape3 != null) {            shape3.draw();        } else {            System.out.println("Invalid shape type");        }    }}
点赞 14
评论 0
全部评论

相关推荐

08-01 18:35
湖南大学 C++
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务