牛客春招刷题训练营-2025.4.14题解

活动地址: 牛客春招刷题训练营 - 编程打卡活动

简单题 自守数

  1. 读入一个整数 n
  2. 遍历从 0 到 n 的每个数字 x
  3. 对于每个数字 x:
    • 将 x 转换为字符串 sx
    • 计算 x 的平方,并转换为字符串 sy
    • 判断 sy 的末尾是否等于 sx(通过切片 sy[len(sy)-len(sx):] 获取)
    • 如果相等,答案加 1
  4. 输出答案
package main

import (
	"fmt"
	"strconv"
)

func main() {
	var n int
	fmt.Scan(&n)
	ans := 0
	for x := 0; x <= n; x++ {
		sx := strconv.Itoa(x)
		sy := strconv.Itoa(x * x)
		if sy[len(sy)-len(sx):] == sx {
			ans++
		}
	}
	fmt.Println(ans)
}

中等题 小红的双生串

  1. 将字符串 s 平分成两个等长子串 s1 和 s2
  2. 对于每个子串,找出出现次数最多的字符的频次
  3. 子串长度减去最大频次即为需要修改的最少字符数
  4. 两个子串需要修改的字符数之和即为答案
package main

import "fmt"

func main() {
	var s string
	fmt.Scan(&s)
	s1, s2 := s[:len(s)/2], s[len(s)/2:]
	f := func(str string) (ans int) {
		m := make(map[rune]int)
		for _, v := range str {
			m[v]++
			if m[v] > ans {
				ans = m[v]
			}
		}
		return
	}
	fmt.Println(len(s) - f(s1) - f(s2))
}

困难题 abb

  1. 使用前缀和思想,统计每个位置之后(包括当前位置)每个字母出现的次数:

    • 建立二维数组 cnt[i][j] 表示从位置 i 开始到末尾,字母 j 出现的次数
    • 从后向前遍历,方便统计每个位置之后的字母出现次数
  2. 遍历字符串的每个位置 i,对于每个字母 j:

    • 如果等于当前位置的字母(aaa 型语句)不计数
    • 如果不等于当前位置的字母,计算在位置 i 之后出现的字母 j 能形成的对数:
  3. 最终答案就是所有可能的字母对数之和

package main

import "fmt"

func main() {
	var (
		n int
		s string
	)
	fmt.Scan(&n, &s)
	cnt := make([][26]int64, n+1)
	for i := n - 1; i >= 0; i-- {
		for j := 0; j < 26; j++ {
			cnt[i][j] = cnt[i+1][j]
		}
		cnt[i][s[i]-'a']++
	}
	ans := int64(0)
	for i := 0; i < n; i++ {
		for j := 0; j < 26; j++ {
			if j == int(s[i]-'a') {
				continue
			}
			ans += cnt[i+1][j] * (cnt[i+1][j] - 1) / 2
		}
	}
	fmt.Println(ans)
}

#牛客春招刷题训练营#
牛客春招刷题训练营 文章被收录于专栏

爱丽姐真是太好了

全部评论

相关推荐

真实工作体验!【工作时间】&nbsp;海康实行弹性工作制,一般九点半之前到公司就可以。对于实习生来说,一般只要打够八个半小时的卡就好了。这点还是不错的,早点上班就可以早点下班。正式工可能需要大小周,具体看部门要求。实习生应该都是双休的,不过周末去的话也会给你发工资。中午休息一个半小时,大部分员工都会自己买午休床。&nbsp;【公司环境】&nbsp;实习报到的时候会给你分配一台电脑,一般都是无盘机,配置很普通,不允许自己带电脑。海康对网络管控比较严格,很多网站不能访问。想要访问外网的话只能通过虚拟机,然后通过公司内部的文件传输工具传到红网,这点还是比较麻烦的。&nbsp;海康食堂还行,样式挺丰富的,价格也不贵。早餐我一般在5-10r,午饭一般15-20r。海康有专人负责检测食堂饭菜农药残留,细菌达标情况,饮水机水质这些东西,定期会出检测报告。正式工貌似八点半之前到公司可以拿20餐补,实习生没有任何补贴,这点比那些互联网公司待遇差一点。公司里面还有便利店、水果店、面包房啥的,海康员工好像有折扣价,比外面便宜一点。公共区域有办公用品柜,直接刷工牌就能免费领本子,笔之类的文具。&nbsp;公司里面还有健身房,一期、二期的比较小,没有淋浴间,三期健身房挺大的,有淋浴间。四期、五期也有健身房,不过我没去过。&nbsp;【工作氛围】&nbsp;实习生工作强度还行,压力不会很大。海康这边应该是给每个实习生都配备了一个mentor,他会给你安排任务,有什么问题也可以向他请教。身边的同事也都很好相处,我们组吃饭的时候都是一起去的,感觉和学校实验室差不多,身边的同事也都挺年轻的。&nbsp;海康这边活动还挺多的,部门每个季度还会安排团建,我入职的那周正好赶上了。研究院这边还有一些活动社团,有羽毛球社、健身社、音乐社,每周都会安排活动,健身社有教练带练,羽毛球社每周会租一片场地,免费提供羽毛球。海康威视2025届春招补招开启【关于我们】海康威视成立于2001年,是一家专注技术创新的科技公司,致力于将物联感知、人工智能、大数据技术服务于干行百业,引领智能物联新未来【招聘岗位】综合类(人力、会计、运营、商务)、营销/技术支持类、算法/网米哈游TCL络安全/大数据类、器件电路类、软件/嵌入式类、硬件/结构类、测试/支撑类、供应链类、体验设计类【工作地点】杭州、武汉、西安、成都、上海、北京、石家庄、全国90+城市和海外多地【福利待遇】有竞争力的薪资+影响世界的宽广舞台+持续可期的成长回报+踏实专注的做事氛围+接轨市场的创新实践【投递链接】http://campushr.hikvision.com/【内推码】MXA4QC(简历优先筛选,后续有流程上的问题欢迎随时联系)使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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