双指针0分。。。刚来下不了数据点大佬帮看一下
查看原帖
双指针0分。。。刚来下不了数据点大佬帮看一下
773707
unicorn12138楼主2024/2/29 21:57
package main

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

func main() {
	var n, c int
	_, _ = fmt.Scanln(&n, &c)
	reader := bufio.NewReader(os.Stdin)
	line, _ := reader.ReadString('\n')
	line = strings.TrimSpace(line)
	words := strings.Split(line, " ")
	var q = make([]int, len(words))
	for i := 0; i < len(words); i++ {
		num, _ := strconv.Atoi(words[i])
		q[i] = num
	}
	sort.Slice(q, func(i, j int) bool {
		return q[i] < q[j]
	})
	var res int
	l, r := 0, 0
	for r < n {
		if q[r]-q[l] == c {
			res += r - l
		}
		if q[r]-q[l] > c {
			l++
		} else {
			r++
		}
	}

	fmt.Println(res)

}

2024/2/29 21:57
加载中...