网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月19日漏签0天
c语言吧 关注:799,016贴子:4,358,792
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 下一页 尾页
  • 39回复贴,共2页
  • ,跳到 页  
<<返回c语言吧
>0< 加载中...

超时了有没有快一点的算法???

  • 只看楼主
  • 收藏

  • 回复
  • 讠朱仙
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

题目是

oj地址发楼下


  • 讠朱仙
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//代码
#include<iostream>
#include<cmath>
#include<vector>
#include<string>
//#include<list>
using namespace std;
bool isrotate(string& s1, string& s2)
{
if (s1.size() != s2.size()) return false;
for (auto it = s2.begin(); it != s2.end(); it++)
{
string str1(s2.begin(), it);
string str2(it, s2.end());
if (s1 == (str1 + str2) || s1 == (str2 + str1))return true;
}
return false;
}
int main()
{
//测试代码
vector<string> words = { "abba", "abab", "baba", "abab", "baba", "bbaa", "aabb" };
//list<string> word(words.begin(),words.end());
//我用list报错,所以勉强用vector 做删除,但是vector 删除会让迭代器失效,所以我选择置空
vector<string> word;
auto it = words.begin();
while (it != words.end())
{
auto it2 = it;
it2++;
while (it2 != words.end())
{
if ( *it2!="" && isrotate(*it, *it2) ) {
//words.erase(it2++);
*it2 = "";
// continue;
}
it2++;
}
word.push_back(*it);
it++;
while ( it!=words.end() && *it == "")
it++;
}
cout << word.size() << endl;
return 0;
}


2025-08-19 17:40:29
广告
不感兴趣
开通SVIP免广告
  • 讠朱仙
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
题目翻译:旋转单词,如果两个单词是旋转单词那么他们属于同一旋转单词类,
求不同的旋转单词类的数量,
旋转单词: 不好描述就像例子那样


  • 别杀我我是坏人
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
真丶不懂


  • 讠朱仙
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


  • Allure彡
  • 彩虹面包
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如果是我的话,会从原集合S中取出一个单词a,求a的所有旋转单词b[],然后从S中剔除所有的b[],以此类推,直到S中为空
   --printf("hello world");


  • 讠朱仙
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
http :/ / w w w .lintcode.c o m/zh-cn/problem /rotate-words/


  • 讠朱仙
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最后一个测试数据至少5000个


2025-08-19 17:34:29
广告
不感兴趣
开通SVIP免广告
  • 讠朱仙
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶一顶


  • 讠朱仙
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
再顶顶


  • 英雄之殇
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主 我只说一个方面 5000个词首先可以利用哈希方法分开来 那么对于一个词 就可以从分配的那一组里找结果 而不用再整个5000个词里找结果


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 39回复贴,共2页
  • ,跳到 页  
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示