首页 > 其他分享 >ts

ts

时间:2023-01-24 12:11:06浏览次数:52  
标签:target nums int ts char length ints

代码随想录 | Day6-2 | LC 01两数之和、242. 有效的字母异位词

1. 两数之和

image-20230119205502517

解法1,利用HashMap(map.get(Key))实现数的存储和输出

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

思路

  1. 是对于hashmap的利用,即利用其key和value的特性,达到二维数组的存储效果,存储两个数值

  2. 是哈希表的优势就在于O(1)的查找,利用map.get(Key)函数,可以直接实现目标数的查找

  3. 就是对于题意的理解,寻找两数之和翻译过后的意思其实是寻找目标值target作差后值的数字

    即int goal_num=target-nums[i];

参考资料

ACM 选手图解 LeetCode 两数之和 | 编程文青李狗蛋

「代码随想录」梦开始的地方!

解法2:暴力解法

思路:两层,外层取遍历nums[i],内层遍历nums[i+1],再一个if,直接解决……(够无脑哈哈……)

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] ints = new int[2];
        for (int i = 0; i < nums.length; i++) {
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[i] + nums[j] == target) {
                    ints[0] = i;
                    ints[1] = j;
                    break;
                }
            }
        }
        return ints;
    }
}

242. 有效的字母异位词

image-20230120161904797

解法1: 利用哈希映射将存储元素进行比较

    class Solution {
        public boolean isAnagram(String s, String t) {
            int[] record = new int[26];
            if (s.length()!=t.length()){
                return false;
            } //basecase
            
            for (int i = 0; i <s.length() ; i++) {
                char c = s.charAt(i);//String转char
                record[c-'a']++;//char转int
            }
            for (int i = 0; i <t.length() ; i++) {
                char c = t.charAt(i);
                record[c-'a']--;
            }
            for (Integer i : record) {
                if (i!=0){
                    return false;
                }
            }
            return true;
        }
    }

解法2:排序,然后直接遍历

class Solution {
        public boolean isAnagram(String s, String t) {
            if(s.length()!=t.length()){
                return false;
            }
         char[] char_s = s.toCharArray();
         char[] char_t  = t.toCharArray();
            Arrays.sort(char_s);
            Arrays.sort(char_t);
            int for_length=Math.min(s.length(),t.length());
            for (int i = 0; i <for_length; i++) {
                if (char_s[i]!=char_t[i]){
                    return false;
                }
            }
            return true;
        }
    }

思路:

image-20230123180140059

资料:

image-20230123180313012

「代码随想录」有效的字母异位词

[我自己的草稿](https://flowus.cn/share/22429806-7be9-4834-94e3-2f182d2d87d7
【FlowUs 息流】Untitled (Draft).pdf)

image-20230123180636386

image-20230123181230668

image-20230123181602271

Test1

test2

test3

image-20230123181626121

image-20230123181642438

image-20230123181646242

image-20230123192155839

image-20230123200639523

image-20230123200948773

imgNBV~0){8C.jpg)

imgNBV~0){8C.jpg)

image-20230123203527618

image-20230123203909269

image-20230123204454799

https://flowus.cn/share/dcbbbdb5-fac4-4948-9ecb-e3a836e3d081

计划本

![image-20230124112903292](http://150154.xyz/2023/1/image-202301241129032

标签:target,nums,int,ts,char,length,ints
From: https://www.cnblogs.com/szwsama/p/17065994.html

相关文章

  • bitset简易使用方法
    何为bitset一个stl,可以大大减少储存布尔数所需的空间,本质上就是个存二进制数的容器具体而言,省的空间是用int存的\(\frac{1}{32}\)示例bitset<N>bi(10111);//括号里的是......
  • [LeetCode] 1828. Queries on Number of Points Inside a Circle
    Youaregivenanarray points where points[i]=[xi,yi] isthecoordinatesofthe ith pointona2Dplane.Multiplepointscanhavethe same coordinat......
  • P4022 [CTSC2012]熟悉的文章 题解
    题目链接简要题意给定\(m\)个模板串和\(n\)个匹配串,如果一个字符串是一个模板串的子串且长度不小于\(L\)则称其为“熟悉的”,对于每个匹配串,求一个最大的\(L\),满足......
  • 基于ACO蚁群算法的tsp优化问题matlab仿真
    1.算法描述“基本原理蚁群算法(AntColonyOptimization,ACO)是一种基于种群寻优的启发式搜索算法,有意大利学者M.Dorigo等人于1991年首先提出。该算法受到自然界真实蚁......
  • 无法加载文件 C:\Users\Administrator\Desktop\spider01\venv\Scripts\activat
    遇到问题原因Restricted(防止运行没有数字签名的脚本),要设置成remotesigned模式解决方案输入get-executionpolicy以管理员的方式打开Powershall运行,并在命令窗......
  • 生成requirements.txt文件
    对于Python项目,生成和使用requirements.txt是十分必要的。通过requirements.txt可以一次性保存和安装项目所需要的所有库。尤其是在不同电脑操作时。requirements.txt的样......
  • [ARC144E]GCD of Path Weights
    ProblemStatementYouaregivenadirectedgraph$G$with$N$verticesand$M$edges.Theverticesarenumbered$1,2,\ldots,N$.The$i$-thedgeisdirected......
  • CTS 2023 游记【脱敏版】
    该版本删去了一些可能敏感的信息.2023.12.16前几天和戴老师聊天的时候想能不能给CTS投点题什么的,如果又全是Ynoi题就不好了呢.毕竟前段时间lxl[数据删除],这是......
  • python3 分割键值对cookies并将键和值赋值给cookiejar,传递给requests
    importtimeimportrequestsimportrequests.cookies#格式化成2016-03-2011:45:39形式print(time.strftime("%Y-%m-%d%H:%M:%S",time.localtime()))print(time.......
  • 【题解】CF193D Two Segments
    题意给定一个\(1\simN\)的排列,在这个排列中选出两段互不重叠的区间,求使选出的元素排序后构成公差为1的等差数列的方案数。选出的两段区间中元素构成的集合相同时视为同一......