首页 > 其他分享 >day06 打卡242.有效的字母异位词 349. 两个数组的交集 202. 快乐数

day06 打卡242.有效的字母异位词 349. 两个数组的交集 202. 快乐数

时间:2023-03-06 17:36:58浏览次数:64  
标签:202 int day06 set result 242 new 打卡 public

day06 打卡242.有效的字母异位词 349. 两个数组的交集 202. 快乐数

242.有效的字母异位词

242题目链接

1.思路:可以先记住s的每个字符,如果出现就+1;再次循环t的每一个字符,寻找相同的字符对于的数值,实现-1。最后所有的字符的数值等于0,则互为字母异位词。

对于Java中的一些必备方法:

LeetCode中需要用到数据结构的各种方法(Java)

class Solution {
    public boolean isAnagram(String s, String t) {
        int[] record = new int[26];

        for(int i = 0 ; i<s.length() ; i++) {
            record[s.charAt(i) - 'a']++;
        }
        for(int i = 0 ; i<t.length() ; i++) {
            record[t.charAt(i) - 'a']--;
        }
        
        boolean reslut = true;
        for(int i = 0; i<26 ; i++) {
            if (record[i] != 0) {
                reslut = false;
                break;
            }
        }
        return reslut;
    }
}

349. 两个数组的交集

349题目链接

1.主要是通过set添加数值后,通过contains()判断是否存在,如果存在的话就加入set2。再把set转成数组。

class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> set1 = new HashSet<>();
        Set<Integer> set2 = new HashSet<>();

        for(int i = 0; i<nums1.length ; i++) {
            set1.add(nums1[i]);
        }

        for(int i = 0; i<nums2.length ; i++) {
            if (set1.contains(nums2[i])) {
                set2.add(nums2[i]);
            }
        }
        
        // 也可以直接 return set2.stream().mapToInt(x -> x).toArray();

        int[] result = new int[set2.size()];
        int i = 0;
        for(Integer num: set2) {
            result[i] = num;
            i++;
        }
        return result;
    }
}

202. 快乐数

202题目链接

1.没有思路,看代码随想录的。疑问点在于一直不等于1会陷入死循环。看来之后知道了,如果不是快乐数,就会重复。

class Solution {
    public boolean isHappy(int n) {
        boolean result = false;
        Set<Integer> set = new HashSet<>();
        while(n != 1 && !set.contains(n)) {
            set.add(n);
            n = getSum(n);
        } 
        return n == 1;
    }

    public int getSum(int n) {
        int sum = 0;
        while (n>0) {
            int num = n % 10;
            sum += num * num;
            n = n / 10;
        }
        return sum;
    }
}

1. 两数之和

1题目链接

1.联想哈希表的使用,就会想到key为nums[index],value是index。因为返回值是要下标,所以存储到value里。为什么不用set是因为可能出现[3,3,4]的数组,index=0和1的都是要被记下来的。

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

参考资料

[代码随想录](

标签:202,int,day06,set,result,242,new,打卡,public
From: https://www.cnblogs.com/zzzsl/p/17184676.html

相关文章

  • 【专题】深度学习平台发展报告(2022年)PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=31689原文出处:拓端数据公众号深度学习平台市场目前正经历着巨大的增长阶段。头部企业通过整合算力、研发、部署、行业应用等AI服务能力,布局......
  • hutool XML反序列化漏洞(CVE-2023-24162)
    漏洞简介Hutool中的XmlUtil.readObjectFromXml方法直接封装调用XMLDecoder.readObject解析xml数据,当使用readObjectFromXml去处理恶意的XML字符串时会造成任意代......
  • 2023 NOI 春季测试
    2023NOI春季测试T1不再赘述。P9118[春季测试2023]幂次【民间数据】考场上没判k巨大的情况。\(n\le10^{18}\),所以当\(b\ge3\)时就有\(a\le10^6\)了。考虑......
  • 中国1990-2021连续30年土地利用数据CLCD介绍及下载
    CLCD数据介绍CLCD(ChinaLandCoverDataset)数据集由武汉大学黄昕老师公布,黄昕老师基于GoogleEarthEngine上335,709景Landsat数据,制作中国年度土地覆盖数据集(annualChin......
  • 【愚公系列】2022年03月 .NET架构班 020-ABP vNext 虚拟文件系统
    【摘要】前言虚拟文件系统可以管理文件系统(磁盘)上实际不存在的文件。它主要用于将(js,css,image,cshtml…)文件嵌入到程序集中,并在运行时将它们用作物理文件。一、集成虚拟......
  • 2023.3.6软件工程日报
    所花时间:3小时 代码量:100行 博客量:1 今天由于课上验收加了0.5分日期为2023.3.6    此外看了其他优秀同学的作品,深感自己的差距,感觉应该更细化业务逻辑......
  • 【游记】NOI2023春测 VP 记
    游记趁着有空就做了一下,考前听说好多省预估一等线\(300+\)表示相当震惊。开始做题啦~一看\(T1\)感觉直接倒序然后暴力染色复杂度大概就是\(O(nm)\)的,但是写起来有......
  • 抢先看!界面控件DevExtreme 2023产品路线图曝光
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能......
  • [SWPUCTF 2021 新生赛]sql
     前言思路:这个CTF题是一个SQL注入相关的题目,题中所含相关知识点:题目中过滤了空格、等于号,使用/**/替换空格符,使用like替换等于号,后面步骤均为常规sql注入;到最后显示......
  • 英语 2023-3-6
    Television,sinceitsfirstprevalenceoverradiointhe1950s,hasplayedamoreandmoreimportantroleinpeople'slives,Asamatteroffact,ithasbecomes......