小米笔试3月23日“移山”答案

package main

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

func main() {
	var n, m int
	input := bufio.NewScanner(os.Stdin)
	if input.Scan() {
		line := input.Text()
		arr := strings.Split(line, " ")
		n, _ = strconv.Atoi(arr[0])
		m, _ = strconv.Atoi(arr[1])
	}
	a := make([]int64, n)
	if input.Scan() {
		line := input.Text()
		arr := strings.Split(line, " ")
		for i := 0; i < len(arr); i++ {
			a[i], _ = strconv.ParseInt(arr[i], 10, 64)
		}
	}
	var l, r, h int
	var d []int
	x := 0
	for i := 0; i < m; i++ {
		x++
		// 差分数组,+2防止越界,也可以使用if
		d = make([]int, n+1)
		if input.Scan() {
			line := input.Text()
			arr := strings.Split(line, " ")
			l, _ = strconv.Atoi(arr[0])
			r, _ = strconv.Atoi(arr[1])
			h, _ = strconv.Atoi(arr[2])
		}
		d[l-1] = d[l-1] + h
		d[r] = d[r] - h
		for j := 1; j <= n; j++ {
			d[j] += d[j-1]
		}
		for j := 0; j < n; j++ {
			a[j] -= int64(d[j])
			if a[j] <= 0 {
				fmt.Println(x)
				return
			}
		}
		fmt.Println(a)
	}

}

//6 5
//8 9 10 25 36 63
//1 2 10

//5 4
//6 5 3 4 6
//1 3 2
//4 4 2
//3 5 1
//1 5 6

使用前缀和+差分数组做的,一定记得使用uint64,不然用例通过不了。

全部评论

相关推荐

#软件开发2024笔面经#&nbsp;笔试地址:赛码笔试时间:3/23&nbsp;18:00-19:30笔后感觉:低于90无入围可能?【听说是小米最后一次笔试,可能没有hc了】试题评价:难度:中下,考的内容较为综合,数据结构(二叉树遍历)、算法认识(贪心、排序)、操作系统进程调用计算(FCFS)、数据模拟、SQL&nbsp;等(其他记不清了)关于语言:C++/Java/Python 都有【C++独户做起来懵逼:比如 Java 的 >>>&nbsp;运算符?】题目分布:单选(15)多选(10)编程(2)编程题:难度偏低试题一参考:小D是一名老师,他想选出一些同学床架一个团体比赛,总共有n个同学,每个同学有一个能力值x和一个合作制y,小D将这小同学拍成一排,选人规则如下:小D将选择一排中连续的K个同学参加比赛,而且为例保证成绩,者K个同学的能力值不能小于a,合作值不能小于b。小D想知道总共有多少种可能的选人方案。输入描述第一行四个正整数n,k,a,b第二行n个通过空格隔开的正整数表示一排n个同学的能力值。第三行n个通过空格隔开的正整数表示一排n个同学的合作值。输出描述:输出一个非负数表示选人的方案数试题二参考:天帝被愚公的诚心感动,命令手下的仙人帮助移山。然而仙人的法术也是有局限性的,山势连绵起伏,法术并不能直接把山一走。每次施法,可以把一段连续区域的汕头一走相同的高度。现在愚公想知道什么时候会有至少一个山头高度小于等于0.给出一个长度为n的数组和m表示山头的高度和可以施法的次数,每次施法还会给出左右断点L,R和高度h,表示将al到ar减去h。问在那次操作时候会存在ai小于等于0输入描述:第一行两个数字n和m表示山头数量和施法次数第二行n个数,分别表示山的高度接下来m行,每行3个数字L,R,h表示依次具体的施法参数输出描述:一个整数代码参考地址【比较简单】#小米##笔试##小米24春招#&nbsp;&nbsp;小米笔试开发岗低于90无入围可能?【代码参考】_牛客网 https://www.nowcoder.com/discuss/601133831730569216
投递小米集团等公司7个岗位 软件开发2024笔面经
点赞 评论 收藏
转发
点赞 1 评论
分享
牛客网
牛客企业服务