小红书第二题AK-区间和之和


  1. 调整数组元素顺序:小的在中间,大的在两边。两边的数用到的次数最多。
  2. 计算和,计算时两个for会超时。换思路,根据元素出现次数计算,一次for搞定。


package main

import (
	"fmt"
	"sort"
)

func main() {
	var n int
	fmt.Scan(&n)
	a := make([]int, n)
	for i := range a {
		fmt.Scan(&a[i])
	}
	sort.Sort(sort.Reverse(sort.IntSlice(a)))
	ranged := make([]int, n)
	left, right := 0, n-1
	for i := 0; i < n; i++ {
		if i%2 == 0 {
			ranged[left] = a[i]
			left++
		} else {
			ranged[right] = a[i]
			right--
		}
	}
	result := 0
	left, right = 0, n-1
	count := 1
	for left <= right {
		result += ranged[left] * n * count
		if left != right {
			result += ranged[right] * n * count
		}
		n--
		count++
		left++
		right--
	}
	fmt.Println(result)
}

#小红书笔试#
全部评论

相关推荐

一、充分准备深入了解行业与公司:提前了解目标行业的发展趋势、竞争格局,以及心仪公司的历史、产品、业务模式、核心价值观等。这不仅能展现你对行业的热情和洞察力,还能帮助你更好地匹配适合自己的岗位。完善简历与作品集:简历要简洁明了、重点突出,根据目标岗位定制化修改,突出自己的专业技能、实习经历、项目经验及取得的成果。对于设计、技术、创意类岗位,一份精美的作品集尤为重要,它能直观展示你的能力和风格。模拟面试:提前准备常见面试问题,并进行模拟面试。通过反复练习,提高应对压力的能力和表达的流畅度。同时,注意肢体语言、眼神交流等非语言信息的传递,展现出自信、真诚的形象。二、掌握面试技巧精准定位,凸显优势:清晰表达自己对岗位的理解以及为何认为自己适合这个岗位。通过具体事例阐述自己的专业技能、团队协作能力、解决问题的能力等,让面试官看到你的独特价值。积极互动,展现热情:面试是双向选择的过程,不要害怕提问。适时向面试官提出关于公司、岗位、团队等方面的问题,展现你对职位的浓厚兴趣和主动性。灵活应对,展现应变能力:面对突发问题或难题时,保持冷静,尝试从不同角度思考并给出合理的回答。即使不能立即给出完美答案,也要表现出积极解决问题的态度和思路。三、注重细节与礼仪仪表得体:选择一套整洁、得体的职业装,展现你的专业与自信。保持良好的坐姿、站姿,微笑面对面试官,展现出你的亲和力和自信。言辞礼貌:在面试过程中,注意使用礼貌用语,保持谦虚谨慎和积极热情的态度。遇到不懂的问题时,要诚实回答,避免不懂装懂。注意时间管理:在面试中合理分配时间,对于每个问题的回答都要简明扼要,避免冗长拖沓。同时,也要留出时间给面试官提问和互动。综上所述,要在校招面试中脱颖而出,需要充分准备、掌握面试技巧、注重细节与礼仪。通过这些努力,相信你一定能在众多竞争者中脱颖而出,获得心仪的offer。度小满25校招开始了内推码:NTANSzA内推链接&nbsp;&nbsp;https://app.mokahr.com/m/campus-recruitment/duxiaoman/74050?sourceToken=883e5eabca169711d4fd5fececa7e6c7#/home投完之后可在评论区留下:姓名缩写➕岗位例如lj+java,方便跟踪哟机不可失失不再来,冲冲冲
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务