牛客 算法题 golang语言实现

题目

HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序

bash 复制代码
描述
输入整型数组和排序标识,对其元素按照升序或降序进行排序

数据范围: 
1
≤
�
≤
1000
 
1≤n≤1000  ,元素大小满足 
0
≤
�
�
�
≤
100000
 
0≤val≤100000 
输入描述:
第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序

输出描述:
输出排好序的数字

示例1
输入:
8
1 2 4 9 3 55 64 25
0
复制
输出:
1 2 3 4 9 25 55 64
复制
示例2
输入:
5
1 2 3 4 5
1
复制
输出:
5 4 3 2 1

golang

go 复制代码
package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
	"strconv"
	"strings"
)

func main() {
    input:=make([]int,0)
    length:=0
    orderType:=0
    scanner:=bufio.NewScanner(os.Stdin)
    for scanner.Scan(){
        line:= scanner.Text()
        arr:=strings.Fields(line)
        for _,v:=range arr{
            num,_:=strconv.Atoi(v)
            input = append(input, num)
        } 
    }

    length =input[0]
    orderType = input[len(input)-1]
    
    result:=input[1:len(input)-1]
    sort.Ints(result)
    if orderType==1{
         sort.Sort(sort.Reverse(sort.IntSlice(result)))
    }

     for i,v:=range result{
        if i==(length-1){
            fmt.Printf("%d", v)
        }else{
            fmt.Printf("%d ", v)
        }
        
    }
    
}

运行结果

相关推荐
青 春 记 忆3 小时前
LeetCode 53. 最大子数组和|Python 解法详解
python·算法·leetcode
豆瓣鸡3 小时前
算法日记 - Day10
算法
戴西软件3 小时前
戴西CAxWorks.VPG车辆工程仿真软件技术解析(上)——安全仿真体系的自动化构建
运维·网络·数据库·人工智能·算法·安全·自动化
zander2583 小时前
4. 寻找两个正序数组的中位数:用分割点代替合并
数据结构·算法
Kisorge3 小时前
【电机控制器】 基于STSPIN32G4的FOC控制
stm32·嵌入式硬件·算法
Elivs4 小时前
RMSNorm函数
人工智能·算法·机器学习
tudousisi2224 小时前
P4447 [AHOI2018初中组] 分组 题解复盘
算法
SNAKEpc121384 小时前
OpenGL(十一)- 变换管线
c语言·c++·算法·矩阵·图形渲染
饼饼学习空间智能6 小时前
遥操作数据能否提升机器人自主化水平?详解模仿学习、仿真放大与Sim2Real闭环
人工智能·算法
GoFly开发者6 小时前
GoFly 社区 GMQT|国产自研 MQTT‑Broker,打造私有化物联网消息底座
物联网·mqtt·golang·mqtt broker·mqtt私有化部署