¸øÒ»¸ö×Ö·û´®¡¢ÀýÈç ¡°ababc¡±ÒªÇ󷵻ء°ab¡±. ÒòΪ¡°ab¡±Á¬ÐøÖظ´³öÏÖÇÒ×¡£ ÓÃC/C£«£«ÓïÑÔдһº¯ÊýÍê³É¸ÃËã·¨£¬¸ø³ö¸´ÔÓ¶È
Õâ¸öÌâÎÒ²»»á
C/C++ code:
#include <iostream>
#include <string>
using namespace std;
bool getmaxsubstr(const string& s, string& oks);
int main()
{
string str;
while (cin >> str)
{
string s;
if (getmaxsubstr(str, s))
{
cout << s << endl;
}
else
{
cout << "do not exist!\n";
}
}
return 0;
}
bool getmaxsubstr(const string& s, string& oks)
{
string rets;
int len = 0;
bool bf = false;
for (int i = 0; i < s.size(); ++i)
{
for (int j = 1; j <= s.size() - i; ++j)
{
rets = s.substr(i, j);
if (s.find(rets, i + j) != string::npos && rets.size() > len)
{
len = rets.size();
oks = rets;
bf = true;
}
}
}
return bf;
}
O(n^2),ûÓп¼ÂÇsubstrÄÚ²¿µÄ¸´ÔÓ¶È¡£
ÎÊÌâÒªÇóÄÜ·ñÔÙÇåÎúһЩ
±ÈÈ磺"aababcabcd"µÄÇé¿öÏ£¬ab³öÏÖÁË3´Î£¬¶øabc³öÏÖÁË2´Î£¬Ó¦¸Ã·µ»ØÄÄÒ»¸ö£¿
#include <stdio.h>
#define BUF_MAX 1000
Ïà¹ØÎÊ´ð£º
É¢·Ö£¬ÎªC£¯C++ÂÛ̳Ôö¼ÓµãÈËÆø£¡£¡
jf
jf£¬Â¥Ï±£³Ö¶ÓÐÎ
Ö»¼û¹ý²»¸ÒÉ¢·ÖµÄ£¬Ã»¼û¹ý²»¸Ò½Ó·ÖµÄ
½Ó
ǰÅÅÁôÃû
jf
ÕâÀïÈËÆø»¹²»´í°¡£¡
½Ó·Ö ¡¡ C/C++ºÃÈÈÄÖ¶î¡¡ÆäËû°æ¿é¾ÍÏà¶ÔûÕâôÈÈÁË
......
ÇëÎÊÏÂC/SµÄÎïÀí½á¹¹£¬ÊDz»ÊÇÕâÑùµÄ£º
һ̨·þÎñÆ÷£¬ÉÏÃæÖ»ÔËÐÐÒ»¸öÊý¾Ý¿â£¬È»ºóÊǶà¸ö¿Í»§¶Ë»ú£¬Ã¿¸ö»ú×ÓÉϰ²×°Ò»¸ö¿Í»§¶ËÈí¼þ£¬ÔÙ°ÑÊý¾Ý¿âÁ¬½ÓÓû§ÃûÃÜÂë¸øÃ¿¸ö¿Í»§¶Ë£¬Õâ¸öÃÜÂëÓÉÈí¼þ¼ÓÃÜ·ÅÔÚ¿Í»§¶Ë£¬Óû§µ ......
ÔÚueÖдÓÔ¶³ÌunixÓöþ½øÖÆ·½Ê½ÏÂÔØcÎļþµ½±¾µØ£¬ÐÞ¸ÄÖ®ºóÓöþ½øÖÆ·½Ê½ÉÏ´«µ½unixÖУ¬ÔÙÓÃvi´ò¿ª¸ÃÎļþ£¬Ã¿ÐкóÃæ¾Í»áÓÐÒ»¸ö^MµÄ»»Ðзû£¬Èç¹û²ÉÓÃascii·½Ê½ÏÂÔØ£¬¶þ½øÖÆ·½Ê½ÉÏ´«µÄ»°¾ÍûÓÐ^M£¬ÄÇÇëÎÊÕâÑù»á¶Ô³ÌÐòÎļþ ......
c/s ºÍb/s µÄÇø±ðÊÇʲô£¬c/sÐèÒª·þÎñÆ÷Âð£¬ÔõôÅжϳÌÐòÊÇc/s »¹ÊÇb/s
C/SÊÇ·þÎñÆ÷ºÍ¿Í»§¶Ë B/SÊÇ·þÎñÆ÷ºÍä¯ÀÀÆ÷
ËûÃǶ¼ÓÐs£¬Ê²Ã´ÊÇs?¾ÍÊÇserver
ÄÇËûÃǵÄÇø±ðÊÇʲô£¿Ò»¸öÊÇc£¬¼´client£¬Ò»¸ö ......
/*-----------c.h--------------*/
#ifndef _C_H_
#define _C_H_
extern "C" int add(int x, int y);
#endif
/*-----------c.c--------------*/
int add(int x, int y){
return ......