[algogeeks] Need links for Problem solving interview questions(non DS and algorithmic) probably with how to reach a solution
hi I am looking for some web links where i can find problem solving questions and method that one can use to solve the problems that are asked in interviews.Please let me know if you came across one. Thanks Rag -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
[algogeeks] MS Question: Segregrate positive and negative nos in array without changing order
Hi Question as in subject *No extra space (can use one extra space)-O(1) max *No order change allowed example: input : 1,-5,2,10,-100,-2 output: -5,-10,-100,1,2 input : -1,-5,10,11,15,-500,200,-10 output : -1,-5,-10,-500,-10,10,11,15 Thanks Raghavn -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
Re: [algogeeks] MS Question: Segregrate positive and negative nos in array without changing order
The main idea of this question is *not to change order of occurrence.Dutch National flag other swapping like quick sort will change the order of occurrence of number try yourself with simple example for proof. From: Ravi Ranjan ravi.cool2...@gmail.com To: algogeeks@googlegroups.com Sent: Friday, 29 June 2012 3:06 PM Subject: Re: [algogeeks] MS Question: Segregrate positive and negative nos in array without changing order one can modify dutch national flag algo for two colors(2 types positive n negative) -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en. -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
Re: [algogeeks] MS Question: Segregrate positive and negative nos in array without changing order
This is a variant of that one From: saurabh singh saurab...@gmail.com To: algogeeks@googlegroups.com Sent: Friday, 29 June 2012 3:05 PM Subject: Re: [algogeeks] MS Question: Segregrate positive and negative nos in array without changing order duplicate of a previous post.Kindly refer to that post. Saurabh Singh B.Tech (Computer Science) MNNIT blog:geekinessthecoolway.blogspot.com On Fri, Jun 29, 2012 at 10:41 AM, raghavan M peacelover1987...@yahoo.co.in wrote: Hi Question as in subject *No extra space (can use one extra space)-O(1) max *No order change allowed example: input : 1,-5,2,10,-100,-2 output: -5,-10,-100,1,2 input : -1,-5,10,11,15,-500,200,-10 output : -1,-5,-10,-500,-10,10,11,15 Thanks Raghavn -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en. -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en. -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
Re: [algogeeks] trie display
tire will always contain the link to all its children.This problem is just printing out the children once the key is fully reached. ie., search for abc in trie print all the children of c node. Raghavan From: deepikaanand swinyanand...@gmail.com To: Algorithm Geeks algogeeks@googlegroups.com Sent: Thursday, 28 June 2012 12:23 PM Subject: [algogeeks] trie display If there is a trie of following strings(say URLs) abcde,abcegh,abcpqr,abcxyz,xyz if input = abc then output should be = de,egh,pqr,xyz How can I code for this ??? -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en. -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
Re: [algogeeks] Adobe interview question
Make all constructors private. From: himanshu kansal himanshukansal...@gmail.com To: Algorithm Geeks algogeeks@googlegroups.com Sent: Friday, 22 June 2012 1:44 PM Subject: [algogeeks] Adobe interview question How will u implement an abstract class in c++ w/o using pure virtual function??? will making all the constructors and assignment operators protected suffice??? i doubt since the derived classes will be able to create objects of that classand according to definition of abstract class, no object of it should be created... any other way?? -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en. -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
Re: [algogeeks] Re: Run Length Decoding... inplace
Atul '1' is a special case for this RLE.Instead of copying back you have to copy front a1b2c1d4e5 Step 1: expand e 5 times a1b2c1d4e Step 2: expand 'd' 4 times.before that shift 5e's by 4 right side. a1b2c1ee step 3: here since 1 is a special case shift 'ee' left side by 1 From: atul anand atul.87fri...@gmail.com To: algogeeks@googlegroups.com Sent: Saturday, 24 March 2012 4:32 PM Subject: Re: [algogeeks] Re: Run Length Decoding... inplace @raghavan: wont work...take input as a1b1c4...it willl fail. read prev comment ... On 24 Mar 2012 14:23, raghavan M peacelover1987...@yahoo.co.in wrote: For sake of in-place Instead of doing it from the Start we can do it from the end in which case, the data precision wont be lost. Eg: a1b2c3d4 start with d4 a1b2c3 now in next loop a1b2ccc- here we have to do a)reallocation and b)copy the last 3 from next one it is more swaps :D i hope it can be optimised by some way. not sure though. From: Ashish Goel ashg...@gmail.com To: algogeeks@googlegroups.com Sent: Saturday, 24 March 2012 1:19 AM Subject: Re: [algogeeks] Re: Run Length Decoding... inplace Atul a10 looks good however, when there are multiple such cases within the same string, it is is a problem because i would not know if the char is the real character of the string or part ofthe length eg a10115 is a valid string and can be interpreted as a01 or a 10115 times. RLE is the first case not the second case which is pretty easy to take care. Best Regards Ashish Goel Think positive and find fuel in failure +919985813081 +919966006652 On Fri, Mar 23, 2012 at 11:39 PM, atul anand atul.87fri...@gmail.com wrote: @utkarsh: +1 On 23 Mar 2012 18:38, UTKARSH SRIVASTAV usrivastav...@gmail.com wrote: I am considering that I am having total size of buffer that is maximum of output or input buffer and input is given in the buffer. My first approach of the solution was that 1. first traverse whole array and then count total number of characters that will be present in whole array. O(n) 2. fill the output array from rightmost side and start filling it until you reach 0th index. O(n) But it failed on this test case a1b1c4 here I could lost data b1 once I start filling character from right side.It faile because of characters whose count is 1. So I think just a change in algo will give me correct answer. 1. first traverse whole array and then count total number of characters that will be present in whole array and in case if the character count is 1 place '\0' in place of 1. O(n) 2. imagining \0 as space .convert this problem to removing white space from strings and compress it . Again can be done in O(n). 3. fill the output array from rightmost side and start filling it until you reach 0th index. O(n) Please correct me if I am wrong. On Thu, Mar 22, 2012 at 9:13 AM, atul anand atul.87fri...@gmail.com wrote: @Ashish : a10 will be represented as aa . Here '1' and '0' are character type in the given input , so you need to convert it into numeric 10. On Thu, Mar 22, 2012 at 1:09 AM, Ashish Goel ashg...@gmail.com wrote: Gene, Atul How would a string of say 257 or say 10 times a would be represented, will it be a10 or aascii of 10 Best Regards Ashish Goel Think positive and find fuel in failure +919985813081 +919966006652 On Wed, Mar 21, 2012 at 2:04 PM, atul anand atul.87fri...@gmail.com wrote: wasnt able to come up with an algo which would satisfy all the cases input like a1b1c4 here output length is equal to input length . till now i dont knw how to handle these type of input. :( :( On Wed, Mar 21, 2012 at 10:02 AM, atul anand atul.87fri...@gmail.com wrote: @Gene : yes you are right , i misunderstood the problem . so m/m available is just enough to hold the output. thanks for correcting ... that would make this ques little interesting :) :)...i guess my first posted code can be modified to meet the requirement. i will post the updated code. On Tue, Mar 20, 2012 at 5:45 PM, Gene gene.ress...@gmail.com wrote: I don't think you're seeing the requirement completely. The problem promises only that the output buffer will be big enough to hold the output. You have made it huge. I tried your code on an input of a1b1c6 with the required output space of 8 characters (plus 1 for the C null character), and it printed cc and stopped. Last night I realized there is another approach that will work in all cases, so I deleted my post. I guess it wasn't deleted on the server in your part of the world. You all can certainly work it out. You can't just copy the input to a predetermined place in the buffer before processing it. It needs to be placed carefully, and it needs to be processed from both ends to a certain point in the middle. On Mar 20, 7:32 am, atul anand atul.87fri...@gmail.com wrote: using Gene
Re: [algogeeks] Re: Run Length Decoding... inplace
For sake of in-place Instead of doing it from the Start we can do it from the end in which case, the data precision wont be lost. Eg: a1b2c3d4 start with d4 a1b2c3 now in next loop a1b2ccc- here we have to do a)reallocation and b)copy the last 3 from next one it is more swaps :D i hope it can be optimised by some way. not sure though. From: Ashish Goel ashg...@gmail.com To: algogeeks@googlegroups.com Sent: Saturday, 24 March 2012 1:19 AM Subject: Re: [algogeeks] Re: Run Length Decoding... inplace Atul a10 looks good however, when there are multiple such cases within the same string, it is is a problem because i would not know if the char is the real character of the string or part ofthe length eg a10115 is a valid string and can be interpreted as a01 or a 10115 times. RLE is the first case not the second case which is pretty easy to take care. Best Regards Ashish Goel Think positive and find fuel in failure +919985813081 +919966006652 On Fri, Mar 23, 2012 at 11:39 PM, atul anand atul.87fri...@gmail.com wrote: @utkarsh: +1 On 23 Mar 2012 18:38, UTKARSH SRIVASTAV usrivastav...@gmail.com wrote: I am considering that I am having total size of buffer that is maximum of output or input buffer and input is given in the buffer. My first approach of the solution was that 1. first traverse whole array and then count total number of characters that will be present in whole array. O(n) 2. fill the output array from rightmost side and start filling it until you reach 0th index. O(n) But it failed on this test case a1b1c4 here I could lost data b1 once I start filling character from right side.It faile because of characters whose count is 1. So I think just a change in algo will give me correct answer. 1. first traverse whole array and then count total number of characters that will be present in whole array and in case if the character count is 1 place '\0' in place of 1. O(n) 2. imagining \0 as space .convert this problem to removing white space from strings and compress it . Again can be done in O(n). 3. fill the output array from rightmost side and start filling it until you reach 0th index. O(n) Please correct me if I am wrong. On Thu, Mar 22, 2012 at 9:13 AM, atul anand atul.87fri...@gmail.com wrote: @Ashish : a10 will be represented as aa . Here '1' and '0' are character type in the given input , so you need to convert it into numeric 10. On Thu, Mar 22, 2012 at 1:09 AM, Ashish Goel ashg...@gmail.com wrote: Gene, Atul How would a string of say 257 or say 10 times a would be represented, will it be a10 or aascii of 10 Best Regards Ashish Goel Think positive and find fuel in failure +919985813081 +919966006652 On Wed, Mar 21, 2012 at 2:04 PM, atul anand atul.87fri...@gmail.com wrote: wasnt able to come up with an algo which would satisfy all the cases input like a1b1c4 here output length is equal to input length . till now i dont knw how to handle these type of input. :( :( On Wed, Mar 21, 2012 at 10:02 AM, atul anand atul.87fri...@gmail.com wrote: @Gene : yes you are right , i misunderstood the problem . so m/m available is just enough to hold the output. thanks for correcting ... that would make this ques little interesting :) :)...i guess my first posted code can be modified to meet the requirement. i will post the updated code. On Tue, Mar 20, 2012 at 5:45 PM, Gene gene.ress...@gmail.com wrote: I don't think you're seeing the requirement completely. The problem promises only that the output buffer will be big enough to hold the output. You have made it huge. I tried your code on an input of a1b1c6 with the required output space of 8 characters (plus 1 for the C null character), and it printed cc and stopped. Last night I realized there is another approach that will work in all cases, so I deleted my post. I guess it wasn't deleted on the server in your part of the world. You all can certainly work it out. You can't just copy the input to a predetermined place in the buffer before processing it. It needs to be placed carefully, and it needs to be processed from both ends to a certain point in the middle. On Mar 20, 7:32 am, atul anand atul.87fri...@gmail.com wrote: using Gene logic , but we need to take care of number with more than 1 digits , so updated gene's code is as follows :- #includestdio.h #define MAX 1000 int copy(char *str,int len) { int max_len=MAX-1,i; for(i=len-1;i=0;i--) { str[max_len]=str[i]; max_len--; } return max_len+1; } void runLength(char *str) { unsigned int j,k=1,loop=0,res_len=0; int i,n_start; char c; /*copying input to the end of the buffer*/ n_start=copy(str,strlen(str)); for(i=MAX-1;i=n_start;i--) { if(str[i]='0' str[i]='9') { continue; } else { sscanf(str[i],%c%d,c,loop);