字典序最小问题——Best Cow Line

简介:

这里写图片描述

#include <cstdio>
#include <iostream>

using namespace std;

#define MAX_N 2000

int N;

char S[MAX_N+1];

void solve()
{
    int a=0,b=N-1;

    while(a<=b)
    {
        bool left=false;
        for(int i=0;a+i<=b;i++)
        {
            if(S[a+i]<S[b-i])
            {
                left=true;
                break;
            }
            else if(S[a+i]>S[b-i])
            {
                left=false;
                break;
            }
        }
        if(left)
            putchar(S[a++]);
        else
            putchar(S[b--]);
    }
    putchar('\n');
}

int main()
{
    printf("N:\n");
    scanf("%d",&N);

    printf("S:\n");
    for(int i=0;i<N;i++)
    {
        scanf("%s",&S[i]);
    }

    solve();

    return 0;
}
目录
相关文章
sort() 函数按照字符串顺序对值进行排序。
sort() 函数按照字符串顺序对值进行排序。
197 0
LeetCode 167 Two Sum II - Input array is sorted(输入已排序数组,求其中两个数的和等于给定的数)
给定一个有序数组和一个目标值 找出数组中两个成员,两者之和为目标值,并顺序输出
85 0
|
人工智能 算法
LeetCode 1347. 制造字母异位词的最小步骤数 Minimum Number of Steps to Make Two Strings Anagram
LeetCode 1347. 制造字母异位词的最小步骤数 Minimum Number of Steps to Make Two Strings Anagram
20天刷题计划-532. 数组中的 k-diff 数对
给定一个整数数组和一个整数 k,你需要在数组里找到 不同的 k-diff 数对,并返回不同的 k-diff 数对 的数目。 这里将 k-diff 数对定义为一个整数对 (nums[i], nums[j]),并满足下述全部条件: 0 <= i < j < nums.length |nums[i] - nums[j]| == k 注意,|val| 表示 val 的绝对值。
|
索引 Python
数组中的 k-diff 数对
我们拿到本题,读取题意要求在一组整数数组中,求出差值为k的数对对数k-diff。在思考如何解答该题之前,需要明确如下几点细节: nums数组元素都是整数 索引位置i与位置j,不能相等 k-diff数对关系:nums[i] - nums[j] = k -> nums[i] = nums[j] + k -〉 nums[i] - k = nums[j] k-diff数对,存在相同数对情况,但结果只取1次
109 0