02 2023 档案
摘要:题目链接 这题本身就是一个排序题,按照学生成绩排序,成绩一样的按照输入的前后顺序排。 如果用Java,那么利用ArrayList能很轻松的完成: import java.util.ArrayList; import java.util.Comparator; import java.util.Lis
阅读全文
摘要:题目链接 题倒是很简单,最开始用了这么一种解法: package main import "fmt" func main() { a := 0 fmt.Scan(&a) str := fmt.Sprintf("%b", a) fmt.Printf("%d", convert(str)) } func
阅读全文
摘要:题目链接 题目本身不难,但是牛客的输入样例很坑,因此只好使用bufio来进行输入了: package main import ( "bufio" "fmt" "os" "strings" ) func main() { input := bufio.NewScanner(os.Stdin) inpu
阅读全文
摘要:题目链接 简单的说这题就是字符串去重以后检查长度。如果用Java的话,可以遍历字符串,然后利用Set来进行去重,最后统计Set的size就可以了。但是如果是Go语言,则稍微麻烦点。基本思路就是用map,对于map中不存在的元素,添加,然后计数器加1: package main import ( "f
阅读全文
摘要:题目链接 这题最开始的想法就是用一个map来解决问题: func main() { num := 0 fmt.Scan(&num) a := 0 b := 0 m := make(map[int]int) for i := 0; i < num; i++ { fmt.Scan(&a) fmt.Sca
阅读全文
摘要:题目链接 这道题本身更多的是考察如何计算一个数的质数因子,更像是一道数学题,用到了循环的方法: package main import ( "fmt" "math" ) func main() { a := 0 fmt.Scan(&a) end := math.Sqrt(float64(a)) fo
阅读全文
摘要:题目链接 基本上能用最简单代码实现的,就不要考虑的太复杂: package main import "fmt" func main() { a := 0 fmt.Scanf("0x%x", &a) fmt.Printf("%d", a) }
阅读全文
摘要:题目链接 这个题目本身基本上是对语言熟悉程度的考察,没有什么别的逻辑可言: package main import ( "fmt" "strings" ) func main() { var a string fmt.Scan(&a) for len(a) > 0 { if len(a) == 8
阅读全文
摘要:题目链接 这题有两个要编码解决的问题,首先是去重,其次是排序。 最开始想着就用Java的TreeSet解决了,简单好用,去重排序都一并解决了,编码只需要考虑input的逻辑就可以,代码如下: import java.util.Scanner; import java.util.Set; import
阅读全文
摘要:本题的链接:BM51 数组中出现次数超过一半的数字 题目很好理解,思路也很简单,只需要遍历数组,将所有的元素出现的次数用Map记录下来就可以,最后遍历Map,找到那个出现次数超过数组长度一半的元素打印就可以: package main /** * * @param numbers int整型一维数组
阅读全文
摘要:本题的链接:BM50 两数之和 最初拿到这个题目首先想到的就是两个指针,然后向后遍历,于是写出来的代码也简明易懂: package main /** * * @param numbers int整型一维数组 * @param target int整型 * @return int整型一维数组 */ f
阅读全文

浙公网安备 33010602011771号