【不看答案挑战,今天你刷题了吗?】LeetCode49,题目+解析+答案

你在找工作的过程中,是否因为算法题目而错失良机?每次对面试官各种算法题目而力有不逮?那么从现在开始参与【不看答案挑战,每天刷一道LeetCode题目

挑战开始

每天一道 LeetCode 题,不看答案,独立完成。这不仅仅是一个刷题的过程,更是一种锻炼思维、培养毅力和解决问题能力的方式。

具体挑战内容如下:

  1. 每日刷题:每天笔者为大家从 LeetCode 中选择一道新的算法题进行解答,以**【Medium】**为主
  2. 不看答案:在整个解题过程中,尽量不查看任何形式的参考答案。
  3. 记录过程:每次解题后,记录你的解题思路和遇到的挑战。
  4. 持续坚持:尽量每天坚持完成一道题目,看看你能连续几天坚持下来。
  5. 总结与反思:每周或每月对你的解题过程进行总结,反思哪些方法和技巧对你最有效,哪些需要进一步改进。
  6. 分享打卡:完成挑战的同学可以在评论区留言,笔者会为每一位完成调整的同学点赞评论留言

题目【Medium】

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

示例 1:

输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
输出: [["bat"],["nat","tan"],["ate","eat","tea"]]
示例 2:

输入: strs = [""]
输出: [[""]]
示例 3:

输入: strs = ["a"]
输出: [["a"]]

大家可以开始思考如何解答了哦。没有思路的同学可以稍稍往下滑动看一下参考思路


参考思路

标签

  • 数组
  • 哈希表
  • 字符串
  • 排序

思路

  1. 字母相同,但排列不同的字符串,排序后都一定是相同的。因为每种字母的个数都是相同的,那么排序后的字符串就一定是相同的。

不要在往下滑了哦 😃 加油!

不要在往下滑了哦 😃 加油!

不要在往下滑了哦 😃 加油!


答案

		public List<List<String>> groupAnagrams(String[] strs) {
        return new ArrayList<>(Arrays.stream(strs).collect(Collectors.groupingBy(str -> {
            char[] chars = str.toCharArray();
            Arrays.sort(chars);
            return new String(chars);
        })).values());
    }

更多惊喜

我还将定期分享:

  • 最新互联网资讯:让你时刻掌握行业动态。

  • AI前沿新闻:紧跟技术潮流,不断提升自我。

  • 技术分享与职业发展:助你在职业生涯中走得更远、更稳。

  • 程序员生活趣事:让你在忙碌的工作之余找到共鸣与乐趣。

关注回复【1024】惊喜等你来拿!

点击查看惊喜

敬请关注【程序员世杰】

点击关注程序员世杰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员世杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值