Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / NewStats: 3,201,695 members, 7,979,340 topics. Date: Saturday, 19 October 2024 at 06:48 AM |
Nairaland Forum / Science/Technology / Programming / Are You SERIOUS About Java Programming Or Not?? Take This Challenge To Find Out! (2709 Views)
Check This Out!!! Click And View What This Picture Is Saying About Java / Am Confused About Java And C++ / C Programming Challenge To Be Solved Under 10 Minutes (2) (3) (4)
Are You SERIOUS About Java Programming Or Not?? Take This Challenge To Find Out! by Jeffahead: 4:04pm On Jul 28, 2014 |
This challenge is based on working with 2-dimensional arrays (or matrix). I've met a number of professional Java developers who simply failed this task and I've met at least one student who successfully completed it. It isn't an easy task but I think it is a real of test one's ability to think as a programmer should. BACKGROUND CONTEXT A zero-indexed matrix A consisting of N rows and M columns of integers is given. It can be decomposed into two sets, called upper spiral and lower spiral. The decomposition proceeds as follows: · remove the top row of the matrix and assign its elements to the upper spiral; · if a non-empty matrix is left, remove the bottom row of the matrix and assign its elements to the lower spiral; · if a non-empty matrix is left, rotate it counter-clockwise (so that the rightmost column becomes the top row) and repeat. For example, consider matrix A consisting of 7 rows and 8 columns:
It can be decomposed into the following upper spiral:
and the following lower spiral:
THE CHALLENGE Write a function: class Solution { that, given a zero-indexed matrix A consisting of N rows and M columns of integers, returns the sum of the elements that belong to the upper spiral of matrix A. The function should return −1 if the sum does not lie within the range [−100,000,000..100,000,000]. Assume that: · N and M are integers within the range [1..1,000,000]; · the number of elements in matrix A is within the range [1..99,999,999]; · each element of matrix A is an integer within the range [−2,147,483,648..2,147,483,647]. For example, given matrix A consisting of 7 rows and 8 columns corresponding to the example above (i.e. A[0][0] = 5, A[0][1] = 3, A[0][2] = 8, A[1][0] = 4, A[2][0] = 4 etc.), the function should return 91, because 5 + 3 + 8 + 9 + 4 + 1 + 3 + (−2) + 1 + 6 + 4 + 0 + 2 + 2 + (−9) + 3 + 3 + 5 + 7 + 3 + 7 + (−5) + 3 + 1 + 9 + 5 + 8 + 2 + 3 = 91. I have competed this task myself and I'll be posting my own solution in a few days time. |
Re: Are You SERIOUS About Java Programming Or Not?? Take This Challenge To Find Out! by Jeffahead: 10:51am On Aug 02, 2014 |
No attempts yet. Java heads where are you? |
Re: Are You SERIOUS About Java Programming Or Not?? Take This Challenge To Find Out! by bluetrails(m): 8:22pm On Aug 05, 2014 |
I haven't attempted the algorithm for this challenge but on close observation at the 3 matrices, I couldn't identify any counter clockwise rotation whatsoever. What I see is a systematic elimination of the matrix elements and a subsequent rebuilding of new matrices from the original matrix. Let's assume the first matrix is called A and the second and third matrices are called B and C respectively , if we also assume the vacant elements in B and C are given values of zero then its clear that. A = B + C. I cannot observe any real positional rotation of the elements. I am very open to correction or some eye opening pointers, I will take another hard look then post some code . Thanks. I typed this on a mobile phone and cannot understand why my formatting disappeared, wonder if someone can give me a clue. |
Re: Are You SERIOUS About Java Programming Or Not?? Take This Challenge To Find Out! by Jeffahead: 12:05pm On Oct 16, 2014 |
@bluetrails You're absolutely right. You will need to recreate the matrices to achieve the effect of a counter-clockwise rotation. |
Re: Are You SERIOUS About Java Programming Or Not?? Take This Challenge To Find Out! by Nobody: 4:24pm On Oct 21, 2014 |
Just use hashmaps tree maps and u could solve this easily.. |
Re: Are You SERIOUS About Java Programming Or Not?? Take This Challenge To Find Out! by Sibrah: 8:40pm On Oct 23, 2014 |
Mr. OP, what you posted here isn't really a Java problem but a programing algorithm challenge. It can be done in virtually any language or even a pseudocode or flowchart will do. 1 Like |
Re: Are You SERIOUS About Java Programming Or Not?? Take This Challenge To Find Out! by Jeffahead: 12:56pm On Nov 18, 2014 |
ikp4succes: Please go ahead Sir and show how you would solve it by posting your solution. Sibrah: Ok. The solution I have done is in Java. But if you want to attempt it using a different language then by all means go ahead. I would be interested to see a solution posted in C# or in any other language. |
(1) (Reply)
Newbies To Javascript / All Programmers Are Self Taught / Best Website To Learn Programming Languages
(Go Up)
Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health religion celebs tv-movies music-radio literature webmasters programming techmarket Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 41 |