会员
T恤
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
wingsless
博客园
首页
新随笔
联系
订阅
管理
2024年8月15日
Java的值传递和引用传递
摘要: 网络上能搜索到的资料里,关于Java到底是值传递还是引用传递的讨论是比较多的,也没有一个特别被大家认可的结论。 因为最近一两年转到了Golang的开发,接触到了比较多的指针的玩法,突然对Java的引用传递和值传递又有了一定的兴趣。 但是我无意于讨论Java到底是值传递还是引用传递,我只是记录一下,避
阅读全文
posted @ 2024-08-15 22:43 wingsless
阅读(333)
评论(6)
推荐(1)
2023年2月15日
【牛客刷题】HJ68 成绩排序
摘要: 题目链接 这题本身就是一个排序题,按照学生成绩排序,成绩一样的按照输入的前后顺序排。 如果用Java,那么利用ArrayList能很轻松的完成: import java.util.ArrayList; import java.util.Comparator; import java.util.Lis
阅读全文
posted @ 2023-02-15 23:12 wingsless
阅读(229)
评论(0)
推荐(0)
【牛客刷题】HJ15 求int型正整数在内存中存储时1的个数
摘要: 题目链接 题倒是很简单,最开始用了这么一种解法: package main import "fmt" func main() { a := 0 fmt.Scan(&a) str := fmt.Sprintf("%b", a) fmt.Printf("%d", convert(str)) } func
阅读全文
posted @ 2023-02-15 11:23 wingsless
阅读(32)
评论(0)
推荐(0)
2023年2月13日
【牛客刷题】HJ13 句子逆序
摘要: 题目链接 题目本身不难,但是牛客的输入样例很坑,因此只好使用bufio来进行输入了: package main import ( "bufio" "fmt" "os" "strings" ) func main() { input := bufio.NewScanner(os.Stdin) inpu
阅读全文
posted @ 2023-02-13 23:14 wingsless
阅读(26)
评论(0)
推荐(0)
【牛客刷题】HJ10 字符个数统计
摘要: 题目链接 简单的说这题就是字符串去重以后检查长度。如果用Java的话,可以遍历字符串,然后利用Set来进行去重,最后统计Set的size就可以了。但是如果是Go语言,则稍微麻烦点。基本思路就是用map,对于map中不存在的元素,添加,然后计数器加1: package main import ( "f
阅读全文
posted @ 2023-02-13 21:49 wingsless
阅读(53)
评论(0)
推荐(0)
【牛客刷题】HJ8 合并表记录
摘要: 题目链接 这题最开始的想法就是用一个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
阅读全文
posted @ 2023-02-13 14:15 wingsless
阅读(126)
评论(0)
推荐(0)
【牛客刷题】HJ6 质数因子
摘要: 题目链接 这道题本身更多的是考察如何计算一个数的质数因子,更像是一道数学题,用到了循环的方法: package main import ( "fmt" "math" ) func main() { a := 0 fmt.Scan(&a) end := math.Sqrt(float64(a)) fo
阅读全文
posted @ 2023-02-13 12:58 wingsless
阅读(70)
评论(0)
推荐(0)
【牛客刷题】HJ5 进制转换
摘要: 题目链接 基本上能用最简单代码实现的,就不要考虑的太复杂: package main import "fmt" func main() { a := 0 fmt.Scanf("0x%x", &a) fmt.Printf("%d", a) }
阅读全文
posted @ 2023-02-13 09:54 wingsless
阅读(52)
评论(0)
推荐(0)
【牛客刷题】HJ4 字符串分隔
摘要: 题目链接 这个题目本身基本上是对语言熟悉程度的考察,没有什么别的逻辑可言: package main import ( "fmt" "strings" ) func main() { var a string fmt.Scan(&a) for len(a) > 0 { if len(a) == 8
阅读全文
posted @ 2023-02-13 09:45 wingsless
阅读(32)
评论(0)
推荐(0)
【牛客刷题】HJ3 明明的随机数
摘要: 题目链接 这题有两个要编码解决的问题,首先是去重,其次是排序。 最开始想着就用Java的TreeSet解决了,简单好用,去重排序都一并解决了,编码只需要考虑input的逻辑就可以,代码如下: import java.util.Scanner; import java.util.Set; import
阅读全文
posted @ 2023-02-13 09:27 wingsless
阅读(99)
评论(0)
推荐(0)
2023年2月9日
【牛客刷题】数组中出现次数超过一半的数字
摘要: 本题的链接:BM51 数组中出现次数超过一半的数字 题目很好理解,思路也很简单,只需要遍历数组,将所有的元素出现的次数用Map记录下来就可以,最后遍历Map,找到那个出现次数超过数组长度一半的元素打印就可以: package main /** * * @param numbers int整型一维数组
阅读全文
posted @ 2023-02-09 23:17 wingsless
阅读(13)
评论(0)
推荐(0)
【牛客刷题】BM50 两数之和
摘要: 本题的链接:BM50 两数之和 最初拿到这个题目首先想到的就是两个指针,然后向后遍历,于是写出来的代码也简明易懂: package main /** * * @param numbers int整型一维数组 * @param target int整型 * @return int整型一维数组 */ f
阅读全文
posted @ 2023-02-09 23:11 wingsless
阅读(30)
评论(0)
推荐(0)
2021年12月24日
《重学Java设计模式》笔记——建造者模式
摘要: 1. 建造者模式可以解决什么问题 我家里有各种形状的瓷器,盘子或者碗。虽然形状不同,但是所用的材料基本上是一样的,比如土、水、釉、彩这些基本的东西。 但是做不同款式的瓷器,方法是不同的。假如说我现在已经写好了一段代码来生成白瓷碗和白瓷盘,正常运行起来了,这倒也没什么,可是,如果我现在要增加一个工作,
阅读全文
posted @ 2021-12-24 13:01 wingsless
阅读(84)
评论(0)
推荐(0)
2021年9月30日
用SpringBoot实现策略模式
摘要: 问题的提出 阅读别人代码的时候最讨厌遇到的就是大段大段的if-else分支语句,一般来说读到下面的时候就忘了上面在判断什么了。很多资料上都会讲到使用策略模式来改进这种代码逻辑。 策略模式的类图如下: 只需要按照这个图写代码就可以了。 策略模式代码的实现 借助Spring框架我们能够轻松的实现策略模式
阅读全文
posted @ 2021-09-30 23:44 wingsless
阅读(2677)
评论(0)
推荐(0)
2021年8月14日
如何求解整数平方根
摘要: 求解一个整数的平方根最简单的办法就是用库函数。 但是如何不用库函数就求解呢? 1. 二分法 我们都知道5的平方根是2.236。如果要求对平方根取整,那么就是2,我们的目的就是在{1,2,3,4,5}这样一个数组中找到2。 这是一个典型的查找的需求,我第一时间想到的查找算法就是二分法。 设left=1
阅读全文
posted @ 2021-08-14 15:45 wingsless
阅读(836)
评论(0)
推荐(0)
下一页
公告