zoukankan      html  css  js  c++  java
  • 一道求递增数的题目

    网上看到有人对一道题目的求解,看了半天,没看明白。于是自己动手来做了一下。原文链接:http://www.cnblogs.com/justcxtoworld/p/3598791.html

    题目:

    描述: 
    输入一串数字,找到其中包含的最大递增数。递增数是指相邻的数位从小到大排列的数字。如: 2895345323,递增数有:289,345,23, 那么最大的递减数为345。 
    输入: 
    输入一串数字,默认这串数字是正确的,即里面不含有字符/空格等情况 
    输出: 
    输出最大递增数 
    样例输入: 
    123526897215 
    样例输出: 
    2689

    #include <iostream>
    #include <assert.h>
    
    
    using namespace std;
    
    long maxIncrease(char* str, int length)
    {
        long result = str[0] - '0';
        long resultNext = 0;
    
    
        for (int i = 0; i < length; ++i)
        {
            int numNext = str[i+1] - '0';
            int num = str[i] - '0';
    
            if (numNext > num)
            {
                result = result * 10 + numNext;
            }
            else
            {
                if ( result > resultNext )
                {   
                    resultNext = result;
                }
    
                result = numNext;
            }
        }
    
    
    
        return resultNext;
    }
    
    int main()
    {
        assert(345 == maxIncrease("2895345323", strlen("2895345323")));
        assert(2689 == maxIncrease("123526897215", strlen("123526897215")));
    
        return 0;
    }
    

      

  • 相关阅读:
    time模块
    collection模块
    re模块
    HTML
    Java数据结构之快速排序
    Java数据结构之循环链表(与单链表比较)
    Java数据结构之单链表
    Java数据结构之队列
    Java数据结构之栈
    java数据结构之数组
  • 原文地址:https://www.cnblogs.com/bracken/p/3628529.html
Copyright © 2011-2022 走看看