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

    同学发过来个文件,让我帮他做几个题目的,就做了下,贴在这里

    题目:

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

       1:  #include<iostream>
       2:  #include<stdlib.h>
       3:  #include<cmath>
       4:  #include<vector>
       5:  #include<map>
       6:  #include <string>
       7:  using namespace std;
       8:  int main()
       9:  {
      10:      map<char,int> m;
      11:      for(int i=0;i<10;i++)  //字符映射数字
      12:      {
      13:   
      14:        m['0'+i] = i;
      15:      }
      16:   
      17:      string num;        //存放输入字符串
      18:      cin>>num;
      19:      int length = num.length();
      20:      if(length==1)
      21:       {
      22:      cout<<num<<endl;    //输入只有1个数时,直接输出。
      23:      return 0;
      24:       }
      25:   
      26:      int max = 0;    //用于存放目前最大递增数
      27:      string current = "";
      28:      current = current + num[0];//current
      29:      int temp = 0;       //用于标记当前递增数是否扫描结束,1表示结束
      30:      for(int j =1;j<length;j++)
      31:           {
      32:          int sum = 0;
      33:   
      34:          if(m[num[j]]>m[num[j-1]])
      35:              current = current + num[j];
      36:          else
      37:                temp=1;
      38:                
      39:          if(temp == 1 || j == length-1)     //只有当前递增数扫描结束或到尾部才开始计算当前递增数的值
      40:          {
      41:             int current_length = current.length();
      42:             for(int k=0;k<current_length;k++)
      43:                  {
      44:               sum += m[current[k]]*pow(10,current_length-k-1); //存入目前的递增数
      45:             }
      46:             //cout<<sum<<endl;
      47:             if(max < sum)
      48:                 max = sum;     //存入目前最大递增数
      49:             current = num[j];
      50:             temp=0;
      51:          }
      52:       }
      53:     cout<<max<<endl;
      54:     return 0;    
      55:  }
  • 相关阅读:
    redis的事务、主从复制、持久化
    redis的数据结构与命令
    redis的安装与配置
    JavaEE权限管理系统的搭建(八)--------角色的增删改
    JavaEE权限管理系统的搭建(七)--------管理用户的增删改
    JavaEE权限管理系统的搭建(六)--------使用拦截器实现菜单URL的跳转权限验证和页面的三级菜单权限按钮显示
    JavaEE权限管理系统的搭建(四)--------使用拦截器实现登录认证和apache shiro密码加密
    admin的基础配置
    ERP能解决企业五大不正常现象
    版本控制
  • 原文地址:https://www.cnblogs.com/justcxtoworld/p/3598791.html
Copyright © 2011-2022 走看看