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日
    浏览(16)
  • 【数据结构】数组和字符串(十四):字符串匹配1:朴素的模式匹配算法(StringMatching)

    【数据结构】数组和字符串(十四):字符串匹配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日
    浏览(24)
  • 算法学习——LeetCode力扣字符串篇

    算法学习——LeetCode力扣字符串篇

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

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

    力扣热门算法题 349. 两个数组的交集,387. 字符串中的第一个唯一字符,394. 字符串解码

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

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

    算法通关村十三关 | 数组字符串加法专题

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

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

    带你刷算法——数组/字符串的完全掌握(一)

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

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

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

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

    【每日挠头算法题(3)】字符串解码|数组中重复的数字

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

    2024年02月08日
    浏览(9)
  • 数据结构与算法之字符串: 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日
    浏览(14)
  • LeetCode 2496. Maximum Value of a String in an Array【字符串,数组】简单

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

    2024年02月11日
    浏览(10)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包