首页 > 其他分享 >1768

1768

时间:2023-12-29 16:01:34浏览次数:32  
标签:string int word2 1768 word1 ans size

我的答案:

class Solution {
public:
    string result;
    int i=0,j=0;
    string mergeAlternately(string word1, string word2) {
    if(word1.length()<1||word2.length()>100){
        return 0;
    }
    if(word1.size()<word2.size()){
        while(i<word1.size()){
            result+=word1[i++];
            result+=word2[j++];
        }
        while(i<word2.size()){
            result+=word2[i++];
        }
        return result;
    }else{
        while(i<word2.size()){
            result+=word1[i++];
            result+=word2[j++];
        }
        while(j<word1.size()){
            result+=word1[j++];
        }
        return result;
    }
    }
};
官方解答:
class Solution {
public:
    string mergeAlternately(string word1, string word2) {
        int m = word1.size(), n = word2.size();
        int i = 0, j = 0;
        string ans;
        ans.reserve(m + n);
        while (i < m || j < n) {
            if (i < m) {
                ans.push_back(word1[i]);
                ++i;
            }
            if (j < n) {
                ans.push_back(word2[j]);
                ++j;
            }
        }
        return ans;
    }
};

更优解:

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

 

标签:string,int,word2,1768,word1,ans,size
From: https://www.cnblogs.com/fengziyi/p/17935088.html

相关文章

  • CF1768F
    dp+根号分治,配得上省选题的难度。一眼dp,虽然暴力肯定过不了,但是把朴素转移先列出来绝对没坏处。\[dp_i=\min\limits_{1\leqj<i}(dp_j+\min\limits_{j\leqk\leqi}a_k\timesv)\]这个东西很难用DS维护,有\(\min\)的存在又很难斜优啥的,就想到有一种方法优化:限制可行状态数......
  • [CF1768F]Wonderful Jump
    WonderfulJump题目看错了,以为能往回跳......暴力转移式\[dp_i=min(dp_i,dp_j+\min_{k=j}^ia_k\times(i-j)^2)\]你会发现这个没啥单调性,不好用数据结构维护。所以考虑发掘性质,设\(x=\min_{k=j}^ia_k\),那么一个宽松的上界是\((i-j)\leq\lfloor\frac{n}{x}\rfloor\)对于......
  • 1768. 交替合并字符串
    给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回 合并后的字符串 。 示例1:输入:word1="abc",word2="pqr"输出:"apbqcr"解释:字符串合并情况如......
  • leetCode1768.交替合并字符串 && [1679] K 和数对的最大数目
    题目:给你两个字符串word1和word2。请你从word1开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回合并后的字符串。      输入:word1="abc",word2="pqr"      输出:"apbqcr......
  • CF1768C 题解
    \(\mathcalSolution\)【题意】题目要你构造两个序列\(p,q\),满足\(\max\{p_i,q_i\}=a_i\)。【分析】如果满足\(\max\{p_i,q_i\}=a_i\),则满足\(p_i=a_i,q_i\le......
  • CF1768D 题解
    \(\mathcalSolution\)【题意】我们可以交换任意两个数,求最小操作几次能让逆序对变成\(1\)。【分析】如果逆序对为\(1\)的排列一定是:\(2,1,\cdotsn\)\(1,3,......
  • CF1768B 题解
    首先我们思考什么数是不用排序的。显然,序列中一个由\(1\)开始,每次递增\(1\)的子序列是不用排序的。为什么呢?因为我们把其他数按从大到小排好后这个子序列刚好构成排......
  • CF1768C 题解
    考虑构造。首先第一轮构造我们把第一次出现的数放到\(p\)里面,第二次出现的放到\(q\)里面。如果有数第三次出现呢?那么显然无解。那么现在\(p\)和\(q\)中都填了一......
  • CF1768E Partial Sorting
    可能更好的阅读体验题目传送门题目翻译题目解析显然我们可以证明\(f(p)\in\{0,1,2,3\}\)\(f(p)=0\)显然只有\(s_1=1\)种。考虑\(f(p)=1\)如果前面交换一次,那么......
  • CF1768E Partial Sorting - 组合数学 -
    题目链接:https://codeforces.com/contest/1768/problem/E题解:记P1为将\(1..2\timesn\)排序,P2为将\(n+1..3\timesn\)排序首先观察到答案一定不会超过3(P1P2......