25秋招面试算法题 (Go版本)

科大讯飞 0713

找01

牛牛拥有一个长度为 n 的01 串,现在他想知道,对于每个字符,在它前面的最近的不同字符的下标是多少?

输入描述

本题为多组测试数据,第一行输入一个正整数 T(1<=t<=100),代表测试数据组数。对于每组测试数据,第一行输入一个正整数 n(1<=n<=1000),代表初始 01串的长度。第二行输入一个长度为 n的01 串,代表初始字符串。

输出描述

对于每组测试数据,一行输出 n 个整数 a1,a2,…,an,其中 ai 代表初始字符串中第 i 个位置的字符前面,最近的不同字符的下标是 ai,特殊的,如果前面不存在不同字符,则输出 -1 表示不存在。

示例 1

输入

1
4
1101

输出

-1 -1 2 3

遍历字符串,遇到01串变化的位置就更新索引,并填充到结果中

package kedaxunfei

import (
	"bufio"
	"fmt"
	"os"
)

func Find01Main() {
	Reader := bufio.NewReader(os.Stdin)
	Writer := bufio.NewWriter(os.Stdout)
	defer Writer.Flush()
	var n int
	fmt.Fscanf(Reader, "%d\n", &n)
	for i := 0; i < n; i++ {
		var strSize int
		var str string
		fmt.Fscanf(Reader, "%d\n", &strSize)
		fmt.Fscanf(Reader, "%s\n", &str)
		var result []int
		var res = -1
		for index, _ := range str {
			if index == 0 {
				result = append(result, res)
				continue
			}
			if str[index-1] != str[index] {
				res = index
			}
			result = append(result, res)

		}
		fmt.Println(result)

	}

}

不能出现太多

给定n个数字A1,A2,…An,请求出这些数字中出现次数小于等于k的最小的数。

输入描述

第一行正整数n,k,接下来一行n个正整数,第i个表示Ai 1<=k<=n<=105,1<=Ai<=109

输出描述

一行一个整数,表示答案。如果不存在出现次数少于等于k次的数字,输出-1

示例 1

输入

5 2
1 1 1 2 3

输出

2

用map记录每个数字出现的次数,最后遍历map选值最小的

package kedaxunfei

import (
	"bufio"
	"fmt"
	"os"
)

func NotExistTooMuch() {
	Reader := bufio.NewReader(os.Stdin)
	Writer := bufio.NewWriter(os.Stdout)
	var n, k int
	defer Writer.Flush()
	fmt.Fscanf(Reader, "%d %d\n", &n, &k)

	nums := make([]int, n)
	maps := make(map[int]int)
	for i := 0; i < n; i++ {
		fmt.Fscanf(Reader, "%d", &nums[i])
		if _, ok := maps[nums[i]]; ok {
			maps[nums[i]]++
		} else {
			maps[nums[i]] = 1
		}
	}
	var res int
	var maxRes = 100000
	for key, value := range maps {

		if value <= k {
			if key < maxRes {
				maxRes = key
				res = key
			}
		}
	}
	fmt.Fprintf(Writer, "%d", res)

}


相关推荐

  1. 25面试算法Go版本

    2024-07-14 12:04:01       26 阅读
  2. 2024届SLAMer算法面试总结

    2024-07-14 12:04:01       31 阅读
  3. 算法8

    2024-07-14 12:04:01       27 阅读
  4. 后端开发面试 - JVM垃圾回收算法

    2024-07-14 12:04:01       30 阅读
  5. 2023上岸必备软件测试面试

    2024-07-14 12:04:01       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 12:04:01       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 12:04:01       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 12:04:01       62 阅读
  4. Python语言-面向对象

    2024-07-14 12:04:01       72 阅读

热门阅读

  1. yii2 AssetBundle使用

    2024-07-14 12:04:01       25 阅读
  2. 如何使用IPython的并行计算能力处理大数据

    2024-07-14 12:04:01       24 阅读
  3. 如何定义版本号--语义化版本

    2024-07-14 12:04:01       22 阅读
  4. IOS热门面试题(一)

    2024-07-14 12:04:01       18 阅读
  5. Set和Map的用法

    2024-07-14 12:04:01       25 阅读
  6. 一阶低通滤波(IIR)

    2024-07-14 12:04:01       21 阅读
  7. 12_Shell流程控制

    2024-07-14 12:04:01       27 阅读
  8. GESP:2024-6月等级5-T1-黑白格

    2024-07-14 12:04:01       24 阅读
  9. Postman API版本控制:最佳实践指南

    2024-07-14 12:04:01       22 阅读