Friday's Coding Challenge
-
Yes, like the weekly surveys, they are merely pedant fodder. :)
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
If you don't feed the pedants, they will revolt!
--------------------------------- I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave CCC Link[^] English League Tables - Live
-
What's the smallest code you can come up with to find the n smallest numbers in a random sample of m numbers where n < m. Any language, speed is not an issue.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
-
You may want to read the specs again.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
I assumed
n
was 1. :)".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997 -
What's the smallest code you can come up with to find the n smallest numbers in a random sample of m numbers where n < m. Any language, speed is not an issue.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
Is this somehow related to the curious error page I received this morning from Web04? The one featuring ravenous hamsters obviously recovering from a three day methamphetamine/ethanol binge?
Will Rogers never met me.
-
What's the smallest code you can come up with to find the n smallest numbers in a random sample of m numbers where n < m. Any language, speed is not an issue.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
In English (again): :D Assume m = A*n + B. If m >> n, then it might be easier to first sort each of the A n-segments and B segment separately. Compare the first element of the A-1 lists and B to the last element of the first A list (or to the last element of the smallest starting A-list) and eliminate all the A segments that are greater than that. Then repeat the process again using n elements selected vertically.
-
As an accountant I would suggest...
Range("A:A").Select ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange Range("A:A") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("C1").Select ActiveCell.FormulaR1C1 = "=RC\[-2\]" Range("C2").Select ActiveCell.FormulaR1C1 = "=COUNTIF(R\[-1\]C\[-2\]:R\[17\]C\[-2\],R\[-1\]C)" Range("C3").Select
That that is accountants all over!
--------------------------------- I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave CCC Link[^] English League Tables - Live
-
If you don't feed the pedants, they will revolt!
--------------------------------- I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave CCC Link[^] English League Tables - Live
"The pedants are revolting!" (a la The Wizard of Id)
-
Is this somehow related to the curious error page I received this morning from Web04? The one featuring ravenous hamsters obviously recovering from a three day methamphetamine/ethanol binge?
Will Rogers never met me.
The hamsters have asked for an end to the rumours and baseless allegations of alleged behaviour during certain incidents. The hamsters involved are currently taking some time off to spend more time with their families.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
-
Is this somehow related to the curious error page I received this morning from Web04? The one featuring ravenous hamsters obviously recovering from a three day methamphetamine/ethanol binge?
Will Rogers never met me.
Roger Wright wrote:
The one featuring ravenous hamsters obviously recovering from a three day methamphetamine/ethanol binge?
You read my mind ;p
-
What's the smallest code you can come up with to find the n smallest numbers in a random sample of m numbers where n < m. Any language, speed is not an issue.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
Try this:
#generation of the list
import random
sample = []; n=10; m = 100;rnd = random.Random();
for it in range (1, m): sample.append(rnd.randint(1,n*m))#then
sample.sort()
print sample[:n]
#boom@Chris - When are you planning to start supporting Python in the forum syntax highlighter? :-O [Edit] Not that I'm claiming that my little snippet is beautiful; far from it. I'm still way off being a full-blown Pythonista. But it sure would be nice to have it supported.
Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. In the face of ambiguity, refuse the temptation to guess.
-
That's 1 line too many ;)
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
My only other alternative is using this List.Sort overloaded method[^] but it would involve a more complex object and writing your own Compare method Scrap that idea Leppie has a great answer in my opinion[^]
Lobster Thermidor aux crevettes with a Mornay sauce, served in a Provençale manner with shallots and aubergines, garnished with truffle pate, brandy and a fried egg on top and Spam - Monty Python Spam Sketch
-
What's the smallest code you can come up with to find the n smallest numbers in a random sample of m numbers where n < m. Any language, speed is not an issue.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
sample.OrderBy(x => x).Take(n)
-
You may want to read the specs again.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
//assumptions
// n = 2
int[] sample = new int[]{8,1,9,3,2};
int[] sample2 = new int[2];//code
Array.Sort(sample);
sample2 = sample.Take(sample2.Length).ToArray();".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997 -
What's the smallest code you can come up with to find the n smallest numbers in a random sample of m numbers where n < m. Any language, speed is not an issue.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
-
The hamsters have asked for an end to the rumours and baseless allegations of alleged behaviour during certain incidents. The hamsters involved are currently taking some time off to spend more time with their families.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
Chris Maunder wrote:
The hamsters involved are currently taking some time off to spend more time with their families.
How did they escape? You forgot to lock the door again... :D
It was broke, so I fixed it.
-
What's the smallest code you can come up with to find the n smallest numbers in a random sample of m numbers where n < m. Any language, speed is not an issue.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
Does the language have to already exist?
-
What's the smallest code you can come up with to find the n smallest numbers in a random sample of m numbers where n < m. Any language, speed is not an issue.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
"GIMMEE CODEZ!!!" in Q&A should do it...
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
-
Does the language have to already exist?
Well, if not, it is obviously possible to invent a language where one symbol does this operation :P. Since "sort and take" seems to be how to do it, it would be easy to conceive of a language where putting two symbols for "take" and "sort" next to each other would create a composite function that did it, making two characters the sensible theoretical minimum.
-
You took the easy one ;)
PIEBALDconsult wrote:
How should we handle duplicates
Be creative. How does SQL handle them?
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
Chris Maunder wrote:
How does SQL handle them?
You tell me how you want them handled and I'll tell SQL how. It's SQL, not LISP.
-
Well, if not, it is obviously possible to invent a language where one symbol does this operation :P. Since "sort and take" seems to be how to do it, it would be easy to conceive of a language where putting two symbols for "take" and "sort" next to each other would create a composite function that did it, making two characters the sensible theoretical minimum.
f(x)