【斗鱼笔试题】字符串分类---字符集相同的字符串为同一类

简介: 【斗鱼笔试题】字符串分类---字符集相同的字符串为同一类

斗鱼2021客户端编程题

第一行输入N,表示输入几个字符串

第二行开始输入字符串

输出字符串包含几个种类

如果两个字符串中的字母任意交换顺序后一模一样则为同一类,比如abc和cab是一类

//字符串分类
#include <iostream>
#include <string>
#include <set>
#include <vector>
using namespace std;
//排序
//void QSort(string str, int i, int j)
//{
//  int low = i;
//  int high = j;
//  while (low < high)
//  {
//    while (str[low] <= str[i] && low < j)
//    {
//      low++;
//    }
//    while (str[high] >= str[i] && high > i)
//    {
//      high--;
//    }
//    if (low < high)
//    {
//      swap(str[low], str[high]);
//    }
//    else
//    {
//      break;
//    }
//  }
//  swap(str[i], str[high]);
//  QSort(str, i, high - 1);
//  QSort(str, high + 1, j);
//}
void BSort(string &str, int len)
{
  for (int i = 0; i < len; i++)
  {
    for (int j = 0; j < len; j++)
    {
      if (str[i] < str[j])
      {
        char temp = str[i];
        str[i] = str[j];
        str[j] = temp;
      }
    }
  }
}
int main()
{
  int N;
  vector<string> vbuf;
  while (cin >> N)
  {
    for (int i = 0; i < N + 1; i++)
    {
      string str;
      getline(cin, str);
      vbuf.push_back(str);
    }
    for (int i = 0; i < N + 1; i++)
    {
      int len = vbuf[i].size();
      //QSort(vbuf[i], 0, len);
      BSort(vbuf[i], len);
      //cout << vbuf[i];
    }
    set<string> sbuf;
    for (int i = 0; i < N + 1; i++)
    {
      sbuf.insert(vbuf[i]);
    }
    cout << sbuf.size() - 1 << endl;
  }
  return 0;
}


相关文章
|
BI
7-6 sdut-C语言实验-最长上升子序列
7-6 sdut-C语言实验-最长上升子序列
165 1
|
SQL 存储 缓存
SqlAlchemy 2.0 中文文档(三十)(4)
SqlAlchemy 2.0 中文文档(三十)
221 0
|
存储 算法 Java
必会的10个经典算法题(附解析答案代码Java/C/Python看这一篇就够)(二)
必会的10个经典算法题(附解析答案代码Java/C/Python看这一篇就够)(二)
242 1
|
存储 关系型数据库 大数据
PolarDB 开源评测
开源PolarDB-X,源自阿里云PolarDB,具备分布式存储和计算能力,以其开源特性、成本效益、社区支持和灵活性受到青睐。支持多种部署模式,适合大规模数据处理。然而,其复杂性与文档不完善可能是挑战,建议优化部署流程以降低使用难度。
|
JSON 中间件 数据格式
在服务器框架中处理 POST 请求
在服务器框架中处理 POST 请求
|
并行计算 算法 调度
【操作系统】同步和互斥详细讲解(算法+源码)
【操作系统】同步和互斥详细讲解(算法+源码)
|
关系型数据库 MySQL 数据库
MySQL中find_in_set函数的使用
1.语法 FIND_IN_SET(str,strlist) (1)str 要查询的字符串 (2)strlist 字段名; 参数以”,”分隔 如 (1,2,6,8) 查询字段(strlist)中包含(str)的结果,返回结果为null或记录 假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_IN_SET() 函数被优化,使用比特计算。 如果str不在strlist 或strlist 为空字符串,则返回
1154 0
MySQL中find_in_set函数的使用
|
存储 前端开发
弹幕视频设计网站12------绘制弹幕02
弹幕视频设计网站12------绘制弹幕02
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的导师选择管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的导师选择管理系统附带文章和源代码部署视频讲解等
90 0
|
监控 项目管理 计算机视觉
系统集成项目管理工程师挣值分析笔记大全
系统集成项目管理工程师挣值分析笔记大全