美团0812后端-Golang

第一题:100%

第二题:100%

第三题:100%

第四题:100%

package main
import "fmt"
func main() {
	n := 0
	fmt.Scan(&n)
	nums := make([]int, n)
	dict := make(map[int]int)
	for i := 0; i < n; i++ {
		n, _ := fmt.Scan(&nums[i])
		if n == 0 {
			break
		}
		dict[nums[i]] = i
	}
	var x, y int
	_, _ = fmt.Scan(&x, &y)
	v1, ok1 := dict[x]
	v2, ok2 := dict[y]
	if ok1 == false || ok2 == false {
		fmt.Println("No")
		return
	} else {
		if v1+1 == v2 || v2+1 == v1 {
			fmt.Println("Yes")
			return
		}
		fmt.Println("No")
		return
	}
}

package main

import "fmt"

func main() {
	var n int
	fmt.Scan(&n)
	nums := make([]int, n)
    res := 0 

	for i := 0; i < n; i++ {
		fmt.Scan(&nums[i])
        res += nums[i]
	}
	var x, y int
	fmt.Scan(&x, &y)
    l:= 0
    for i:=x;i<y;i++{
        l += nums[i-1]
    }
    fmt.Println(min(res-l,l))
}
func min(a, b int) int {
	if a > b {
		return b
	}
	return a
}

package main

import "fmt"

const MAX_N = 1e3 + 5
const INF = 100000000

var nums [MAX_N][MAX_N]int
var dp [MAX_N][MAX_N]int

func main() {
	n, m := 0, 0
	fmt.Scan(&n, &m)
	for i := 1; i <= n; i++ {
		for j := 1; j <= m; j++ {
			fmt.Scan(&nums[i][j])
			dp[i][j] = dp[i-1][j] + dp[i][j-1] + nums[i][j] - dp[i-1][j-1]
		}
	}
	a, b := INF, INF
	for i := 1; i <= n; i++ {
		a = min(a, abs(dp[i][m]<<1-dp[n][m]))
	}
	for j := 1; j <= m; j++ {
		b = min(b, abs(dp[n][j]<<1-dp[n][m]))
	}
	fmt.Println(min(a, b))
}
func abs(n int) int {
	if n > 0 {
		return n
	}
	return -n
}
func min(a, b int) int {
	if a > b {
		return b
	}
	return a
}

package main

import "fmt"

func main() {
	var length int
	var s string
	fmt.Scan(&length)
	fmt.Scan(&s)
	list := make([][]int, 0)
	for i := 1; i < length; i++ {
		if length%i == 0 {
			list = append(list, []int{i, length / i})
		}
	}
	res := length
	for _, v := range list {
		temp := 0
		m, n := v[0], v[1]
		nums := make([][]uint8, m)
		visited := make([][]int, m)
		for i := 0; i < m; i++ {
			nums[i] = make([]uint8, n)
			visited[i] = make([]int, n)
		}
		for i := 0; i < m; i++ {
			for j := 0; j < n; j++ {
				nums[i][j] = s[i*n+j]
			}
		}
		var dfs func(i, j int)
		dfs = func(x, y int) {
			if x < 0 || x >= m || y < 0 || y >= n || visited[x][y] == 1 {
				return
			}
			visited[x][y] = 1
			for _, v := range [][]int{{0, 1}, {0, -1}, {1, 0}, {-1, 0}} {
				dx, dy := v[0], v[1]
				nx, ny := x+dx, y+dy
				if nx < 0 || nx >= m || ny < 0 || ny >= n {
					continue
				}
				if nums[nx][ny] == nums[x][y] {
					dfs(nx, ny)
				}
			}
		}
		for i := 0; i < m; i++ {
			for j := 0; j < n; j++ {
				if visited[i][j] == 0 {
					temp++
					dfs(i, j)
				}
			}
		}
		res = min(res, temp)
	}
	fmt.Println(res)
}
func min(a, b int) int {
	if a > b {
		return b
	}
	return a
}

全部评论
可以考虑一下荣耀,南京和上海这边hc相对充足,https://www.nowcoder.com/share/jump/21920518161347041
1 回复 分享
发布于 2023-08-12 20:51 江苏
这是gpt的吗
点赞 回复 分享
发布于 2023-08-18 17:14 北京
必须用go答题吗
点赞 回复 分享
发布于 2023-08-14 13:16 四川
是不是和cpp不是同一套题啊
点赞 回复 分享
发布于 2023-08-12 20:52 湖南

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-21 11:33
昨天是学校最后一场招聘会,鼠鼠去参加了,全场只有一个招聘java的岗位,上来先做一份笔试题,做完后他拿张纸对答案,然后开始问简历上的问题,深圳小厂,6-8k(题目如下),后面还有两轮面试。然后我就在招聘现场逛呀逛,看到有公司招聘电商运营,给的比上年的小厂还多,鼠鼠就去了解了下,然后hr跟鼠鼠要了份简历,虽然我的简历上面全是求职Java开发相关的内容,但是hr还是鼓励我说没关系,她帮我把简历给老板看看,下周一会给我通知。招聘会结束后鼠鼠想了一段时间,也和朋友聊了聊,发现我可能是不太适合这个方向,然后就跟爸爸说回家了给我发条微信,我有些话想跟他说说。晚上爸爸到家了,跟我发了条微信,我立马跑出图书馆跟他打起了电话,这个通话长达一个小时,主要是跟爸爸坦白说我不想找这行了,是你的儿子太没用了,想试试其他行业。然后爸爸也跟我说了很多,说他从来没有希望我毕业后就赚大钱的想法,找不到就回家去,回家了再慢慢找,实在找不到就跟他干(帮别人装修房子,个体户),他也知道工作不好找,让我不要那么焦虑,然后就是聊一些家常琐事。对于后面的求职者呢我有点建议想提一下,就是如果招实习的时间或者秋招开始,而你的简历又很差的情况下,不要说等做好项目填充完简历之后再投,那样就太晚了,建议先把熟悉的项目写上简历,然后边投边面边完善,求职是一个人进步的过程,本来就比别人慢,等到一切都准备好后再投岂不是黄花菜都凉了。时间够的话还是建议敲一遍代码,因为那样能让你加深一下对项目的理解,上面那些说法只是针对时间不够的情况。当然,这些建议可能没啥用,因为我只是一个loser,这些全是建立在我理想的情况下,有没有用还需其他人现身说法。上篇帖子没想到学校被人认了出来,为了不丢脸只能匿名处理了。
KPLACE:找研发类或技术类,主要还是要1.多投 2.多做准备,很多方面都要做准备 3.要有心理准备,投累了就休息一两天,再继续,要相信自己能找到
投递58到家等公司7个岗位
点赞 评论 收藏
分享
评论
6
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务