LeetCode 75| 数组/字符串

这篇具有很好参考价值的文章主要介绍了LeetCode 75| 数组/字符串。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1768 交替合并字符串 

1431 拥有最多糖果的孩子

605 种花问题

345 反转字符串中的元音字母


1768 交替合并字符串 

class Solution {
public:
    string mergeAlternately(string word1, string word2) {
        int n = max(word1.size(),word2.size());
        string res;
        for(int i = 0;i < n;i++){
            if(i < word1.size()){
                res += word1[i];
            }
            if(i < word2.size()){
                res += word2[i];
            }
        }
        return res;
    }
};

时间复杂度O(n+m)

空间复杂度O(1)文章来源地址https://www.toymoban.com/news/detail-772424.html

1431 拥有最多糖果的孩子

class Solution {
public:
    vector<bool> kidsWithCandies(vector<int>& candies, int extraCandies) {
        vector<bool>res(candies.size());
        int mx = -1;
        for(auto candy : candies){
            mx = max(mx,candy);
        }
        for(int i = 0;i < candies.size();i++){
            if(candies[i] + extraCandies >= mx){
                res[i] = true;
            }
        }
        return res;
    }
};

时间复杂度O(n)

空间复杂度O(1)

605 种花问题

数组前后都加上0,全部统一起来处理。 

class Solution {
public:
    bool canPlaceFlowers(vector<int>& flowerbed, int n) {
        int res = 0;
        flowerbed.insert(flowerbed.begin(),0);
        flowerbed.push_back(0);
        for(int i = 1;i < flowerbed.size() - 1;i++){
            if(flowerbed[i] == 0 && flowerbed[i - 1] == 0 && flowerbed[i + 1] == 0){
                res++;
                flowerbed[i] = 1;
            }
        }
        return res >= n;
    }
};

时间复杂度O(n)

空间复杂度O(1)

345 反转字符串中的元音字母

注意边界问题 

class Solution {
public:
    string reverseVowels(string s) {
        unordered_set<char>set{'a','e','i','o','u','A','E','I','O','U'};
        int l = 0;int r = s.size() - 1;
        while(r > l){
            while(r > l && !set.count(s[l]))l++;
            while(r > l && !set.count(s[r]))r--;
            if(r > l){
                s[l] ^= s[r];
                s[r] ^= s[l];
                s[l] ^= s[r];
            }
            l++;r--;
        }
        return s;
    }
};

时间复杂度O(n)

空间复杂度O(1)

到了这里,关于LeetCode 75| 数组/字符串的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ​LeetCode解法汇总2496. 数组中字符串的最大值

    https://github.com/September26/java-algorithms 一个由字母和数字组成的字符串的  值  定义如下: 如果字符串  只  包含数字,那么值为该字符串在  10  进制下的所表示的数字。 否则,值为字符串的  长度  。 给你一个字符串数组  strs  ,每个字符串都只由字母和数字组成,请你

    2024年02月10日
    浏览(95)
  • 【数据结构】数组和字符串(十四):字符串匹配1:朴素的模式匹配算法(StringMatching)

      字符串(String)是由零个或多个字符(char)顺序排列组成的有限序列,简称为串。例如 “good morning”就是由12个字符构成的一个字符串。一般把字符串记作: S = ′ ′ a 0 a 1 … a n − 1 ′ ′ S=\\\'\\\'a_{0} a_{1}…a_{n-1}\\\'\\\' S = ′′ a 0 ​ a 1 ​ … a n − 1 ′′ ​   其中S是串名,引号中

    2024年02月05日
    浏览(65)
  • 算法学习——LeetCode力扣字符串篇

    344. 反转字符串 - 力扣(LeetCode) 描述 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 示例 1: 输入:s = [“h”,“e”,“l”

    2024年02月20日
    浏览(39)
  • 力扣热门算法题 349. 两个数组的交集,387. 字符串中的第一个唯一字符,394. 字符串解码

    349. 两个数组的交集,387. 字符串中的第一个唯一字符,394. 字符串解码,每题做详细思路梳理,配套PythonJava双语代码, 2024.04.02 可通过leetcode所有测试用例。 目录 349. 两个数组的交集 解题思路 完整代码 Python Java 387. 字符串中的第一个唯一字符 解题思路 完整代码 Python Java

    2024年04月08日
    浏览(37)
  • 带你刷算法——数组/字符串的完全掌握(一)

    「作者主页」 :雪碧有白泡泡 「个人网站」 :雪碧的个人网站 「推荐专栏」 : ★ java一站式服务 ★ ★ 前端炫酷代码分享 ★ ★ uniapp-从构建到提升 ★ ★ 从0到英雄,vue成神之路 ★ ★ 解决算法,一个专栏就够了 ★ ★ 架构咱们从0说 ★ ★ 数据流通的精妙之道★ 给你两个

    2024年02月13日
    浏览(45)
  • 算法通关村十三关 | 数组字符串加法专题

    题目:LeetCode66,66. 加一 - 力扣(LeetCode) 我们只需要从头到尾依次运算,用常量标记是否进位,需要考虑的特殊情况是digits = [9,9,9]的时候进位,我们组要创建长度加1的数组,首位添加为1即可。         给定两个非负形式的字符串num1和num2,计算他们的和以字符串形式返

    2024年02月11日
    浏览(32)
  • 算法leetcode|87. 扰乱字符串(rust重拳出击)

    使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止 如果字符串的长度 1 ,执行下述步骤: 在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x + y 。 随机

    2024年02月05日
    浏览(36)
  • 【每日挠头算法题(3)】字符串解码|数组中重复的数字

    点我直达~ 这道题怎么看都好像是用栈来实现,因为有左右括号。(可是第一时间我没想到) 遍历字符串,此时会有几种情况: 1.如果是数字字符,给一个 num 变量,将该字符转化成数字存储起来。 2.如果是字母(题目说只可能是小写),给一个字符串 str ,将该字母存储到字符

    2024年02月08日
    浏览(48)
  • 数据结构与算法之字符串: Leetcode 557. 反转字符串中的单词 III (Typescript版)

    翻转字符串中的单词 III https://leetcode.cn/problems/reverse-words-in-a-string-iii/ 描述 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 示例 2: 提示: 1 = s.length = 5 * 1 0 4 10^4 1 0 4 s 包含可打印的 ASCII 字符。 s 不包含任何开头或

    2024年02月01日
    浏览(70)
  • LeetCode 2496. Maximum Value of a String in an Array【字符串,数组】简单

    本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,

    2024年02月11日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包