代码随想录二刷day06

这篇具有很好参考价值的文章主要介绍了代码随想录二刷day06。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


一、力扣242. 有效的字母异位词

class Solution {
    public boolean isAnagram(String s, String t) {
        int[] arr = new int[27];
        for(int i = 0; i < s.length(); i ++){
            arr[s.charAt(i) - 'a'] ++;
        }
        for(int i = 0; i< t.length(); i ++){
            arr[t.charAt(i) - 'a'] --;
        }
        for(int i = 0; i< arr.length; i ++){
            if(arr[i] != 0){
                return false;
            }
        }
        return true;
    }
}

二、力扣349. 两个数组的交集

class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> s1 = new HashSet<>();
        Set<Integer> s2 = new HashSet<>();
        for(int i = 0; i < nums1.length; i ++){
            s1.add(nums1[i]);
        }
        for(int i = 0; i < nums2.length; i ++){
            if(s1.contains(nums2[i])){
                s2.add(nums2[i]);
            }
        }
        int[] arr = new int[s2.size()];
        int j = 0;
        for(int i : s2){
            arr[j++] = i;
        }
        return arr;
    }
}

stream流写法文章来源地址https://www.toymoban.com/news/detail-693874.html

class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> s1 = new HashSet<>();
        Set<Integer> s2 = new HashSet<>();
        for(int i = 0; i < nums1.length; i ++){
            s1.add(nums1[i]);
        }
        for(int i = 0; i < nums2.length; i ++){
            if(s1.contains(nums2[i])){
                s2.add(nums2[i]);
            }
        }
        return s2.stream().mapToInt(x -> x).toArray();
    }
}

三、力扣202. 快乐数

class Solution {
    public boolean isHappy(int n) {
        Set<Integer> s = new HashSet<>();
        while(n != 1 && !s.contains(n)){
            s.add(n);
            n = fun(n);
        }
        return n == 1;
    }
    public int fun(int n){
        int res = 0;
        while(n > 0){
            int temp = n % 10;
            res += temp * temp;
            n /= 10;
        }
        return res;
    }
}

四、力扣1两数之和

class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> map = new HashMap<>();
        int[] res = new int[2];
        for(int i = 0; i < nums.length; i ++){
            map.put(nums[i], i);
        }
        for(int i = 0; i < nums.length; i ++){
            int temp = target - nums[i];
            if(map.containsKey(temp) && i != map.get(temp)){
                res[0] = i;
                res[1] = map.get(temp);
                break;
            }
        }
        return res;
    }
}

到了这里,关于代码随想录二刷day06的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 代码随想录二刷day17

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 二叉树中深度指的是根节点到当前节点的节点个数, 二叉树中的高度指的是当前节点到叶子节点的节点个数 可以通前序遍历求深度 通过后序遍历求高度 递归 递归 迭代 递归 迭代 递归 递归

    2024年02月09日
    浏览(47)
  • 代码随想录二刷day35

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

    2024年02月07日
    浏览(66)
  • 二刷代码随想录——动态规划day40

    一个本硕双非的小菜鸡,备战24年秋招,计划二刷完卡子哥的刷题计划,加油! 二刷决定精刷了,于是参加了卡子哥的刷题班,训练营为期60天,我一定能坚持下去,迎来两个月后的脱变的,加油! 推荐一手卡子哥的刷题网站,感谢卡子哥。代码随想录 终于来到了守关boss。

    2024年03月11日
    浏览(57)
  • 代码随想录二刷 |回溯 |分割回文串

    131.分割回文串 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: “aab” 输出: [ [“aa”,“b”], [“a”,“a”,“b”] ] 回溯三部曲 递归函数参数 全局变量数组path存放切割后回文的子串,二维数组result存放结果集 参数

    2024年01月24日
    浏览(77)
  • 代码随想录二刷-哈希表-几数之和 (JS)

    题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1,那么这个数就是快乐数。 如果

    2023年04月18日
    浏览(40)
  • 代码随想录day24 开启回溯算法

    感觉回溯算法其实和递归很像,也是用递归的做法,也有三部曲,但又不太一样的地方是递归中类似二叉树,只有纵向遍历(一层层往下遍历,没有横向遍历),而回溯算法中多的for循环就是横向遍历,说实话这一点我没有理解的太深,只是知道它类似于两个for循环中的第一

    2024年01月16日
    浏览(53)
  • 代码随想录day31 贪心算法初探

            就像卡哥视频里说的一样,感觉贪心算法确实没什么固定的套路,唯一的思路就是求局部最优解然后推广到全局最优解,但是什么是局部最优解,这个需要慢慢做题来摸索总结,有点像调参,蛮玄学的,纯考脑子 假设你是一位很棒的家长,想要给你的孩子们一些

    2024年01月18日
    浏览(179)
  • 代码随想录二刷 |二叉树 | 二叉树的右视图

    199.二叉树的右视图 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: [] 提示: 二叉树的节点个数的范围是 [0,1

    2024年02月04日
    浏览(61)
  • 代码随想录算法训练day4 | 链表

    目录 24. 两两交换链表节点 19. 删除链表倒数第n个节点 方法一:普通写法 方法二:双指针法 面试题:找链表相交节点 142. 判断环形链表 虚拟头节点的本质意义在于减少了特殊情况的处理。不用判断该节点是否在链表的第一位。 定义快慢两个指针。 fast先走n步,再让fast和s

    2024年02月04日
    浏览(67)
  • 代码随想录算法训练DAY27|回溯3

    力扣题目链接 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1: 输入:candidates = [2,3,6,

    2024年01月23日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包