kapilsatija
BAN USERI am sorry for this post. Can some one guide me how to preserve the indentation of the code while posting your answer on this site.
- kapilsatija July 11, 2015bool doesContSeqExists(int &vTargSum, vector<int> &vInput)
{
int vSum = 0;
int totalIterations = 0;
totalIterations = vInput.size();
int skipIterations=0;
for(int i=0;i<totalIterations;i++)
{
skipIterations = 0;
vSum = 0;
for(auto e:vInput)
{
if(skipIterations<i)
{
skipIterations++;
continue;
}
if(e == vTargSum)
{
return true;
}
else
{
vSum += e;
if(vSum>vTargSum)
{
vSum = 0;
continue;
}
else if(vSum == vTargSum)
{
return true;
}
}
}
}
return false;
}
#include<iostream>
- kapilsatija July 11, 2015#include<string>
#include<list>
using namespace std;
class Data
{
public:
Data()
{
minSizeData = -1;
largestCommonPrefix.clear();
}
void addData(const string &s)
{
if (minSizeData < 0)
minSizeData = s.length();
else if (minSizeData > s.length())
{
minSizeData = s.length();
}
l.push_back(s);
}
string& maxCommonPrefix()
{
int currentPosition = 0;
char ch;
bool running = true;
if ((l.size() == 0) )
{
cout << endl << "No Elements in the list so returning the empty string..." << endl;
return largestCommonPrefix;
}
largestCommonPrefix.clear();
if ((l.size() == 1))
{
largestCommonPrefix.assign(*(l.begin()));
return largestCommonPrefix;
}
list<string>::const_iterator c_list_itr;
string::const_iterator c_str_itr;
for (int i = 0;(i < minSizeData)&&(running==true);i++)
{
c_list_itr = l.begin();
c_str_itr = c_list_itr->begin();
ch = *(c_str_itr + currentPosition);
c_list_itr++;
for (c_list_itr;c_list_itr != l.end();c_list_itr++)
{
c_str_itr = c_list_itr->begin();
if (ch != *( c_str_itr + currentPosition) )
{
running = false;
break;
}
}
if (running)
{
largestCommonPrefix.push_back(ch);
currentPosition++;
}
}
return largestCommonPrefix;
}
private:
list<string> l;
string largestCommonPrefix;
int minSizeData;
};
int main()
{
Data d;
d.addData(string("I love dogs"));
d.addData(string("I love cats"));
d.addData(string("I love you"));
cout << endl << d.maxCommonPrefix() << endl;
return 0;
}