zoukankan      html  css  js  c++  java
  • 最大递增数

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


    // MaxIncreseNum.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include<iostream>
    using namespace std;
    
    char* MaxIncreaseNum(char*numstr);
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	//char* in = "48917467";
    	//char* in = "12345678";
    	char* in = "244891746789";
    
    	cout << "原字符串是:";
    	for (int i = 0; i < strlen(in); i++)
    		cout << in[i];
    	cout << endl;
    	cout << "字符串长度为"<<strlen(in) << endl;
    	char*out = MaxIncreaseNum(in);
    	cout << "最大递增数是:";
    	for (int i = 0; i < strlen(in); i++)
    		cout << out[i];
    	cout << endl;
    
    
    
    	//下面测试atoi函数,只是验证,与题目无关
    	int k;
    	k = atoi("123    ");//测试带空格的字符串的输出,结果输出为123
    	cout << k <<0;
    	system("pause");
    	return 0;
    }
    
    
    char* MaxIncreaseNum(char*numstr)
    {
    	int j = 0;
    	char*findNum = new char[strlen(numstr)];//store the find num
    	char*MaxNum = new char[strlen(numstr)];//store the max num
    	for (int i = 0; i < strlen(numstr); i++)
    	{
    		findNum[i] = ' ';
    		MaxNum[i] = ' ';
    	}
    	MaxNum[0] = numstr[0];
    	int digitofnum = 1;
    	while (j < strlen(numstr)-1)
    	{
    		int k = 0;
    		findNum[0] = numstr[j];
    		while (numstr[j] < numstr[j + 1])
    		{
    			k = k + 1;
    			j = j + 1;
    			findNum[k] = numstr[j];
    		}
    		if (k + 1>digitofnum)//如果找到的数的位数大于之前的最大数的位数
    		{
    			digitofnum = k + 1;
    			for (int i = 0; i < strlen(numstr); i++)
    			{
    				MaxNum[i] = findNum[i];
    			}
    		}
    		if (k + 1 == digitofnum);//如果找到的数的位数等于之前的最大数的位数
    		{
    			int gg = atoi(MaxNum);
    			int kk = atoi(findNum);
    			if (kk>gg)
    				for (int i = 0; i < strlen(numstr); i++)
    				{
    					MaxNum[i] = findNum[i];
    				}
    		}
    		j = j + 1;
    	}
    
    	return MaxNum;
    }





    版权声明:

  • 相关阅读:
    kkfileview v2.0 发布,文件在线预览项目方案
    margin:0 auto 与 text-align:center 的区别
    div页面居中(上下左右)
    jquery 实现页面拖拽并保存到cookie
    移动开发框架,第【一】弹:QuoJs 官方文档(汉化版)
    javascript 匿名函数的理解,js括号中括function 如(function(){})
    百度,淘宝,腾讯三大巨头HTML页面规范分解
    Javascript触屏手势库-JTouch(更新V1.1)
    移动设备、手机浏览器Javascript滑动事件代码
    jQuery 实现上下,左右滑动
  • 原文地址:https://www.cnblogs.com/walccott/p/4956925.html
Copyright © 2011-2022 走看看