golang crossing.go
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang crossing.go相关的知识,希望对你有一定的参考价值。
package main
import (
"fmt"
"os"
"bufio"
"strconv"
)
const (
datapath = "crossing.txt"
datasize = 3141560
)
func main() {
path := datapath
f, err := os.Open(path)
if err != nil {
panic(err)
}
who := make([]int, datasize, datasize) // who is where index
where := make([]int, datasize, datasize) // where is who index
scanner := bufio.NewScanner(f)
datacnt := 1
for scanner.Scan() {
n, err := strconv.Atoi(scanner.Text())
if err != nil {
panic(err)
}
who[datacnt] = n
where[who[datacnt]] = datacnt
datacnt++
}
f.Close()
fmt.Println("cnt =", datacnt)
nCross := 0
for i:=1; i<datacnt; i++ {
curIdx := who[i]
for j:=0; j<curIdx; j++ {
if where[j] > i {
nCross++
}
}
}
fmt.Println("cross =", nCross)
}
Golang 学习之路
Golang基础
Golang基础之包概念
Golang基础之数据类型
Golang基础之流程控制
Golang基础之数组
Golang基础之切片
Golang基础之map
Golang基础之函数
Golang基础之指针
Golang基础之结构体
Golang基础之接口
Golang Web开发
Golang 其它
算法
以上是关于golang crossing.go的主要内容,如果未能解决你的问题,请参考以下文章
Golang 学习之路
Golang 入门
Golang入门到项目实战 第一个golang应用
golang编译androidso无法加载
golang如何打印内存内容
Golang入门到项目实战 golang匿名函数