simplyankush
BAN USERclass Node(object):
def __init__(self,data):
self.key = data
self.next = None
def longestSequence(root):
nodes = set()
sequences = {}
completesequences = {}
flat = []
while root not in nodes:
nodes.add(root)
flat.append(root)
root = root.next
for node in flat:
if node.key in sequences:
seq = sequences.pop(node.key)
size = len(seq)
elem = completesequences.get(size,[])
elem.append(seq)
completesequences[size] = elem
else:
sequences[node.key] =[]
for key in sequences:
el = sequences[key]
el.append(node.key)
sequences[key] = el
maximum = max(completesequences.keys())
return completesequences[maximum]
if __name__ == '__main__':
root = Node(3)
root.next = Node(8)
root.next.next = Node(9)
root.next.next.next = Node(7)
root.next.next.next.next = Node(2)
root.next.next.next.next.next = Node(1)
root.next.next.next.next.next.next = Node(3)
root.next.next.next.next.next.next.next = Node(4)
root.next.next.next.next.next.next.next = Node(6)
root.next.next.next.next.next.next.next = root
print longestSequence(root)
pass
O(n) Python
def checkPalindrome(string):
if string == string[::-1]:
return True
else:
return False
def makeMinimumPalindrome(string):
stack = []
index = 0
print string
while(index<len(string)):
if string[index] !=string[-1]:
stack.append(string[index])
else:
if checkPalindrome(string[index+1:-1]):
break
else:
stack.append(string[index])
index = index +1
pal = string
while(True):
if stack == []:
break
pal = pal + stack.pop()
print pal
if __name__ == '__main__':
makeMinimumPalindrome('satas')
{
int n = 100;
ArrayList<Integer> a = new ArrayList<Integer>();
for(int i= 1;i<10;i++)
{
if ((n%i)==0)
a.add(i);
}
System.out.println(a);
for(int i = 0;i<a.size();i++)
{
for(int j=0;j<a.size();j++)
for(int k=0;k<a.size();k++)
{
if((a.get(i)*a.get(j)*a.get(k))==n)
System.out.println(a.get(i)+""+a.get(j)+""+a.get(k));
}
}
}
int n = 100;
ArrayList<Integer> a = new ArrayList<Integer>();
for(int i= 1;i<10;i++)
{
if ((n%i)==0)
a.add(i);
}
System.out.println(a);
for(int i = 0;i<a.size();i++)
{
for(int j=0;j<a.size();j++)
for(int k=0;k<a.size();k++)
{
if((a.get(i)*a.get(j)*a.get(k))==n)
System.out.println(a.get(i)+""+a.get(j)+""+a.get(k));
}
}
int n = 100;
ArrayList<Integer> a = new ArrayList<Integer>();
for(int i= 1;i<10;i++)
{
if ((n%i)==0)
a.add(i);
}
System.out.println(a);
for(int i = 0;i<a.size();i++)
{
for(int j=0;j<a.size();j++)
for(int k=0;k<a.size();k++)
{
if((a.get(i)*a.get(j)*a.get(k))==n)
System.out.println(a.get(i)+""+a.get(j)+""+a.get(k));
}
}
private static int height(BSTNode n)
{
if (n==null)
return 0;
else return max(height(n.lChild),height(n.rChild))+1;
}
private static int max(int a , int b)
{
return (a>=b?a:b);
}
public boolean balanced()
{
int diff = Math.abs(height(root.left)-height(root.right));
if (diff >1)
return false;
else return true;
}
Repleancpuryear, Data Scientist at Adjetter Media Network Pvt Ltd.
Hi guys!! My name is Lean C Puryear and I love fashion, I hope to some day get into the ...
l = [3,4,1,5,6,7]
- simplyankush May 08, 2016pre = [1]*len(l)
pos = [1]*len(l)
for index, i in enumerate(l):
if index>0:
pre[index] = pre[index-1] * l[index-1]
index = len(l)-1
ma = index
while(index>=0):
if index<ma:
pos[index] = pos[index+1] * l[index+1]
index = index -1
print pre
print pos
for index, i in enumerate(l):
print pre[index] * pos[index] ,