zoukankan      html  css  js  c++  java
  • Day 25

    第58题:

    给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。

    如果不存在最后一个单词,请返回 0 。

    说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。来源:力扣(LeetCode)

    1、寻找字符串的最后一个单词长度,可以直接从后面排除最后的结尾符号,然后向前遍历;

      当遇到第一个空格符时,就可以得出最后一个单词的长度。

      

      

    第97题:

    给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。来源:力扣(LeetCode)

    示例 1:

    输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
    输出: true
    示例 2:

    输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"
    输出: false

    1、s3这个字符串是否由s1和s2交错组成的,看了题解是用动态规划,创建一个二维数组dp;

      横坐标 i 表示s1的字符串长度,纵坐标 j 表示s2的字符串长度;

      然后dp[i][j]就表示s1的前 i 个字符和s2的前 j 个字符能否构成s3的前i + j个字符;

      例如dp[0][0]=true时,这时候说明s1的前0个字符和s2的前0个字符可以构成s3的前0个字符,所以dp[0][0]=true;

      就这样动态规划到dp[i][j]的最后,得出结果。

      其实这里面会将整个二维数组内的值都求出来;

      比如第0行的时候,遍历这行的列值如果只有前几个相同或者一个都不相同时,这些不相同的内部都会设为false;

      到最后查看最右下角的值是否为true即可。

      

      

  • 相关阅读:
    C#Table转成json工具
    设置npm注册表配置为淘宝镜像
    总结js面向对象调用的几种模式
    gitHub初使用
    对象的防篡改
    offsetWidth clientWidth scrollWidth的区别
    js中的new操作符
    setTimeot与setInterval定时器
    事件捕获 事件冒泡和事件委托
    一个页面从输入URL到加载完成,发生什么事
  • 原文地址:https://www.cnblogs.com/liang-yi-/p/13338235.html
Copyright © 2011-2022 走看看