华为刷题:HJ3明明随机数

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int N = scan.nextInt();
        int[] arr = new int[N];
        for (int i = 0; i < N; i++) {
            int n = scan.nextInt();
            arr[i] = n;
        }
        int count = getSortArr(arr);
        int i = 0;
        while (i < count) {
            System.out.println(arr[i]);
            i++;
        }
    }

    public static int getSortArr(int[]src) {
        //插入排序
        for (int i = 1; i < src.length; i++) {
            int temp = src[i];
            int j = 0;
            for (j = i - 1; j >= 0 && temp < src[j]; j--) {
                src[j + 1] = src[j];
            }
            src[j + 1] = temp;
        }
        //双指针去重
        int slow = 0, fast = 1;
        while (slow < fast && fast < src.length) {
            if (src[slow] == src[fast]) {
                fast++;
                continue;
            }
            slow++;
            src[slow] = src[fast];
            fast++;
        }
        return slow + 1;//有效长度
    }

}
相关推荐
行思理6 分钟前
go语言应该如何学习
开发语言·学习·golang
q5673152329 分钟前
使用libcurl编写爬虫程序指南
开发语言·c++·爬虫
拓端研究室TRL36 分钟前
Python贝叶斯回归、强化学习分析医疗健康数据拟合截断删失数据与参数估计3实例
开发语言·人工智能·python·数据挖掘·回归
returnShitBoy38 分钟前
Go语言中的垃圾回收是如何工作的?
java·jvm·golang
しかし1181141 小时前
C语言队列的实现
c语言·开发语言·数据结构·数据库·经验分享·链表
有什么东东1 小时前
山东大学软件学院创新项目实训开发日志(9)之测试前后端连接
java
zhangpeng4555479401 小时前
用Java写一个MVCC例子
java·开发语言
谦行1 小时前
前端视角 Java Web 入门手册 5.1:真实世界 Web 开发——初识 Spring Boot
java·后端
point_zg1 小时前
Vue报错...properly without JavaScript enabled. Please enable it to continue
开发语言·javascript·vue
自在如风。1 小时前
Java 设计模式:策略模式详解
java·设计模式·策略模式