精华内容
下载资源
问答
  • 字符串排序

    千次阅读 2019-06-28 18:22:43
    月神拿到一个新的数据集,其中每个样本都是一个字符串(长度小于100),样本的的六位是纯数字,月神需要将所有样本的六位数字提出来,转换数字,并排序输出。 月神要实现这样一个很简单的功能确没有时间,...

    题目描述:

    月神拿到一个新的数据集,其中每个样本都是一个字符串(长度小于100),样本的的后六位是纯数字,月神需要将所有样本的后六位数字提出来,转换成数字,并排序输出。

    月神要实现这样一个很简单的功能确没有时间,作为好朋友的你,一定能解决月神的烦恼,对吧。

    输入描述:

    每个测试用例的第一行是一个正整数M(1<=M<=100),表示数据集的样本数目
    
    接下来输入M行,每行是数据集的一个样本,每个样本均是字符串,且后六位是数字字符。

    输出描述:

    对每个数据集,输出所有样本的后六位构成的数字排序后的结果(每行输出一个样本的结果)
    

    输入样例:

    4
    abc123455
    boyxx213456
    cba312456
    cdwxa654321
    

    输出样例:

    123455
    213456
    312456
    654321

    解题思路:

    快手19年校招笔试题,恕我直言快手校招的题挺水哒,和字节跳动(抖音母公司)的暑期实习招聘题比起来low爆啦(晚妹说字节跳动是神仙打架 哈哈哈)。好了,不多哔哔啦,说下我的思路吧。首先从后往前无脑遍历输入的字符串,截取每个字符串的后6位数字子串后推入vector中进行升序排列,然后输出结果即可。

    AC代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int M;    //数据集的样本数为M
        cin >> M;
        getchar();   //cin完getline前一定要用getchar吃回车
        vector<string> v;  //用来存放数字串
        while(M--)
        {
            string temp, str = "";   //temp用于读取字符串,str表示temp中的数字字串
            getline(cin,temp);
            for(int i = temp.length()-1, cnt = 0; i > 0 && cnt < 6; i--, cnt++)   //获取字符串的后6位数字作为数字字串
            {
                str = temp[i] + str;
            }
            v.push_back(str);
        }
        sort(v.begin(),v.end());   //升序排列
        for(auto it : v)
        {
            cout << it << endl;
        }
        return 0;
    }

     

    展开全文
  • 水题之 字符串排序

    2020-05-16 15:17:08
    月神拿到一个新的数据集,其中每个样本都是一个字符串(长度小于100),样本的的六位是纯数字,月神需要将所有样本的六位数字提出来,转换数字,并排序输出。 月神要实现这样一个很简单的功能确没有时间,作为...

    字符串排序
    月神拿到一个新的数据集,其中每个样本都是一个字符串(长度小于100),样本的的后六位是纯数字,月神需要将所有样本的后六位数字提出来,转换成数字,并排序输出。

    月神要实现这样一个很简单的功能确没有时间,作为好朋友的你,一定能解决月神的烦恼,对吧。
    输入描述:

    每个测试用例的第一行是一个正整数M(1<=M<=100),表示数据集的样本数目

    接下来输入M行,每行是数据集的一个样本,每个样本均是字符串,且后六位是数字字符。

    输出描述:

    对每个数据集,输出所有样本的后六位构成的数字排序后的结果(每行输出一个样本的结果)

    示例1
    输入
    复制

    4
    abc123455
    boyxx213456
    cba312456
    cdwxa654321

    import java.io.*;
    import java.util.*;
    public class Main{
        public static void main(String[] args) throws IOException{
           BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
           int M = Integer.parseInt(reader.readLine());
            int[] res = new int[M];
            int l = 0;
           for(int i=0;i<M;++i) {
               char[] tmp = reader.readLine().toCharArray();
               int decade = 1;
               int carry = 0;
               for(int j=tmp.length-1;j>tmp.length-1-6;--j) {
                   if(Character.isDigit(tmp[j])) {
                       carry+=(tmp[j]-'0')*decade;
                       decade*=10;
                   }else{
                       break;
                   }
                   
               }
               res[l++] = carry;
           }
            reader.close();
            
            
            
            
            Arrays.sort(res);
            for(int j:res) {
                System.out.println(j);
            }
            
            
            
            
            
            
            
            
            
            
            
        }
    
        
    }
    
    展开全文
  • 月神拿到一个新的数据集,其中每个样本都是一个字符串(长度小于100),样本的的六位是纯数字,月神需要将所有样本的六位数字提出来,转换数字,并排序输出。 月神要实现这样一个很简单的功能确没有时间,作为...

    题目描述

    月神拿到一个新的数据集,其中每个样本都是一个字符串(长度小于100),样本的的后六位是纯数字,月神需要将所有样本的后六位数字提出来,转换成数字,并排序输出。

    月神要实现这样一个很简单的功能确没有时间,作为好朋友的你,一定能解决月神的烦恼,对吧。

    每个测试用例的第一行是一个正整数M(1<=M<=100),表示数据集的样本数目
    接下来输入M行,每行是数据集的一个样本,每个样本均是字符串,且后六位是数字字符

    对每个数据集,输出所有样本的后六位构成的数字排序后的结果(每行输出一个样本的结果)

    我的思路

    1. substr 后六位
    2. 排序
    #include <iostream>
    #include <string>
    #include <vector>
    #include <algorithm>
    
    using namespace std;
    
    int main()
    {
        int m;
        cin>>m;
        vector<int>nums;
        string s;
        while(cin>>s)
        {
            string str = s.substr(s.length()-6, 6);
            nums.push_back(stoi(str));
        }
        sort(nums.begin(), nums.end());
        
        for(int i=0; i<m; i++)
            cout<<nums[i]<<endl;
        
        return 0;
    
    }
    

    运行时间:5ms

    占用内存:388k

    展开全文
  • 月神拿到一个新的数据集,其中每个样本都是一个字符串(长度小于100),样本的的六位是纯数字,月神需要将所有样本的六位数字提出来,转换数字,并排序输出。 月神要实现这样一个很简单的功能确没有时间,作为...

    [C/C++]字符串排序 - 2019校招编程刷题

    参考链接
    题目描述
    月神拿到一个新的数据集,其中每个样本都是一个字符串(长度小于100),样本的的后六位是纯数字,月神需要将所有样本的后六位数字提出来,转换成数字,并排序输出。

    月神要实现这样一个很简单的功能确没有时间,作为好朋友的你,一定能解决月神的烦恼,对吧。
    输入描述

    每个测试用例的第一行是一个正整数M(1<=M<=100),表示数据集的样本数目
    接下来输入M行,每行是数据集的一个样本,每个样本均是字符串,且后六位是数字字符。

    输出描述

    对每个数据集,输出所有样本的后六位构成的数字排序后的结果(每行输出一个样本的结果)

    输入例子1:

    4
    abc123455
    boyxx213456
    cba312456
    cdwxa654321

    输出例子1:

    123455
    213456
    312456
    654321

    思路

    • 题目其实很简单,对每一个输入的字符串,截取最后六位数字,然后需要对输入的字符串数字进行升序排序!!!
    • 由于题目举例的输入输入结果,本身就是排好序的,导致我一直不知道我的错误在哪(因为我只是简单的输出后六位数字)。
    • 本题用到了两个函数需要简单提一下:
    • sort(数组名,数组名+元素个数),需要引入#include <algorithm>这个包。作用:对数字数组进行升序排序。
    • stringstream ss ,需要引入#include<sstream>这个包。作用是:把string数字转换成int类型数字
    	stringstream ss;
        ss << p[i];
        ss >> num[i];
    

    Just show my code


    代码(c++/c)

    #include<iostream>
    #include<string.h>
    #include<sstream> 
    #include <algorithm>
    using namespace std;
    int main(){
      int n; // 字符串的个数
      cin>>n;
      string *p = new string[n];
      int *num = new int[n];
      for(int i = 0 ;i < n ;i++){
        cin >> p[i];
        p[i] = p[i].substr(p[i].length()-6,p[i].length()-1);
        stringstream ss;
        ss << p[i];
        ss >> num[i];
      }
      sort(num,num + n);
      for(int i = 0 ; i<n; i++){
        cout<<num[i]<<endl;
      }
      return 0;
    }
    

    如果我的文章能帮你节约20秒,就请你为我的文章点个赞吧!

    展开全文
  • 月神拿到一个新的数据集,其中每个样本都是一个字符串(长度小于100),样本的的六位是纯数字,月神需要将所有样本的六位数字提出来,转换数字,并排序输出。 月神要实现这样一个很简单的功能确没有时间,作为...
  • 题目描述给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。...解题思路将每个数字转换成字符串对字符串从大到小排序将排好序的字符串拼接到结果字符串中,返回代码如下class Solution { public: ...
  • 字符串转化成整数,用到了stringstream,对类型进行转换,也处理了溢出 盛最多水的容器,用到了双指针,指向的值较小的那个指针向较大的指针移动 三数之和,采用三指针的做法,排序,固定一个,剪枝,去重,一个都...
  • 输入一个正整数数组,把数组里所有数字拼接起来排一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这.../*对vector容器内的数据进行排序,按照 将a和b转为string 若 a+b 如 2 21
  • varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...
  • 用int会越界的,所以先转成str数字拼接满足结合律,所以只需要保证每两个数拼版接更小就行了,即权ij?ji。因此,可以使用冒泡排序,但是比较的条件变成'i'+'j' > 'j' + 'i',如果满足就交换。输出用print(''....
  • 思路分析:先将正整数序列转换为字符串数组,然后字符串数组进行排序,最后依次输出字符串数组即可。根据题目的要求,两个数字m和n排的数字mn和nm,如果mn<nm,那么我们应该输出nm,也就是m应该排在n的后面,也...
  • 题目:输入一个正整数数组,把数组里所有数字拼接起来排一个数,打印...然后分析这道题目的本质,其实就是要对转换字符串进行排序,然后顺序输出即可,至于排序的方式需要自己定义。举个例子,题目中的字符串“3
  • 先将数组变成字符型(以防拼接后溢出,往往面对大数问题,都是先将数字转换成字符串) 两两字符拼接后排序,重新定义排序规则(拼接后较小的值放在前面) 排完序后,拼接整个数组即为最小数字 # -*- ...
  • 题目:输入一个正整数数组,...自己写一个排序规则,将两个数字都转成字符串,然后比较不同次序的排序后的字符串,输出较小的一个。 最后将排序好的数组按顺序拼接好输出即可。 class Solution{ public: string Pri...
  • 把数组排最小的数

    2018-03-14 22:09:16
    分析:这个问题非常简单,也非常直观,无非就是把数组转成字符串,然后对字符串进行从小到大的排序,然后拼接在一起输出就行了,只是比较大小的规则需要改一下,原因很简单,就是出现第一个字符或者是后面相等的时候...
  •    数组,大数问题(转成字符串拼接就能解决),自定义排序规则 2. 题目描述   输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印...
  • 洛谷P1012 拼数

    2017-02-03 14:25:38
    拼数 题目描述 ...设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。...分析:转换成字符串后排序,两个字符串比较的时候不要直接比要加起来比,如:a[i]+a[j]和a[j]+a[i]比
  • 整数数组转换为字符串数组,然后对整个字符串数组从小到大进行排序排序规则是,对于数组中的两个数m和n,如果mn&lt;nm,则m应该排在n的前面,否则,m应该排在n的后面。 3、代码实现 ...
  • 剑指Offer-把数组排成最小的数 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。...如果数组中的两个数s1和s2转化成字符串后,满足(s1+s2)<(s2+s1),...
  • 第3章-9 字符串转换十进制整数第3章-10 统计大写辅音字母第3章-11 字符串排序第3章-12 求整数的位数及各位数字之和第3章-13 字符串替换 第3章-9 字符串转换十进制整数 输入一个以#结束的字符串,本题要求滤去...
  • 题目描述:输入一个正整数数组,把数组里所有数字拼接起来排一个数,打印能拼接出的所有数字中最小的一个思路:先将整型数组转换String 数组,然后将String 数组排序,最后将排好序的字符串数组拼接出来。...
  • 全国计算机等级考试二级C上机题例典 编程题分类 数的按位分离及合并 四舍五入 ...数字字符串转换成整数 比较字符串长度 子字符串移动 字符串连接 在链表中查找元素 结构体和链表排序 求链表中的极值
  • 从示例中可以看出最大数就是每次找出最大的数,对于示例二,可以对数据先转换为字符串,再进行逆序排序,即['9', '5', '34', '30', '3'],如果直接组合成字符串后为9534303,但是答案为9534330,问题
  • 用记事本编辑,用其他notepad等软件编辑在执行时会出现乱码第一步:用排序命令生产六个班的文件,use qnj.dbffor i = 1 to 6 sort on xm to str(i) ##str(i)把整数类型转换为字符串类型,没有用str(i,1)限定字符串...
  • Online Judge Practice 4c语言一、翻转数组二、使用指针函数对10个整数进行选择排序三、求二维数组第n个元素的值四、一维数组动态构造五、字符串排序六、10个数将最小的放前面最大的放后面七、将数组m位数移到数组...
  • 将原数组中的数转换成字符串, 如果s1+s2大于s2+s1(这里的比较大小是用字符串的比较规则比较大小), 则s1排在s2的前面。 为什么采取上述排序规则所得到的数字是最大的呢?贪心证明 假设采取上述排序规则所...
  • 文章目录1、雪花算法概述2、雪花算法结构3、雪花算法生成的 ID 性质4、雪花算法的优点5、雪花算法的缺点 ...Snowflake 算法生成 id 的结果是一 个 64bit 大小的整数, 为一个 Long 型(转换成字符串后
  • 与chr()函数对应,输入ASCII字符表中字符的字符串形式,返回在字符表中的排序位次。 例如,输入:ord(“Z”),输出为 90 。 应用:凯撒密码的加密和解码 以加密为例,字符转换数字,经过凯撒密码规则运算再转换...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 175
精华内容 70
关键字:

整数转成字符串后排序