华为刷题: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;//有效长度
    }

}
相关推荐
.548几秒前
Two Pointers(双指针)
java·数据结构·算法
li1670902701 分钟前
第二十五章:C++11(下)
c语言·开发语言·数据结构·c++
lsx2024062 分钟前
DOM 改变节点
开发语言
maaath3 分钟前
【maaath】Flutter for OpenHarmony 的手办展示应用开发实践
flutter·华为·harmonyos
AI进化营-智能译站5 分钟前
ROS2 C++开发系列11-VS Code一键生成Doxygen注释|让ROS2节点文档自动跟上代码迭代
java·数据库·c++·ai
时空系9 分钟前
第8篇:结构模板——自定义数据类型 Rust中文编程
开发语言·网络·rust
yuweiade12 分钟前
GO 快速升级Go版本
开发语言·redis·golang
bzmK1DTbd13 分钟前
OpenGL与Java:JOGL库的3D图形渲染实战
java·3d·图形渲染
许彰午13 分钟前
CacheSQL(四):CacheSQLClient——用一张路由表实现水平扩展
java·数据库·缓存·系统架构·政务
lly20240614 分钟前
SOAP Body 元素
开发语言