Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Friday's Coding Challenge

Friday's Coding Challenge

Scheduled Pinned Locked Moved The Lounge
c++architectureperformancehelplounge
76 Posts 35 Posters 6 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Chris Maunder

    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

    N Offline
    N Offline
    Nagy Vilmos
    wrote on last edited by
    #14

    int[] smallest (int[] args, int count) {
    int[] copy = java.util.Arrays.copyOf(args,args.length);
    java.util.Arrays.sort(copy);
    return java.util.Arrays.copyOf(args, count);
    }

    If you don't need it to preserve the original order, then you can drop the first line. This is safe for count > args.length.


    Panic, Chaos, Destruction. My work here is done. Drink. Get drunk. Fall over - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

    1 Reply Last reply
    0
    • E Ennis Ray Lynch Jr

      Smallest in source lines or smallest in compiled output?

      Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. I also do Android Programming as I find it a refreshing break from the MS. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost

      C Offline
      C Offline
      Chris Maunder
      wrote on last edited by
      #15

      Source.

      cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

      1 Reply Last reply
      0
      • realJSOPR realJSOP

        Assuming sample is an array of numbers:

        int smallest = Array.Sort(sample)[0];

        ".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

        C Offline
        C Offline
        Chris Maunder
        wrote on last edited by
        #16

        You may want to read the specs again.

        cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

        realJSOPR 2 Replies Last reply
        0
        • S Simon_Whale

          I have assumed a list of integers

          List Numbers = new List();
          Random r = new Random(10);

          for (int i = 0; i < 10; i++)
          {
          Numbers.Add(r.Next(0, 100));
          }

          Numbers.Sort();
          var Values = Number.Take(5);

          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

          C Offline
          C Offline
          Chris Maunder
          wrote on last edited by
          #17

          That's 1 line too many ;)

          cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

          S 1 Reply Last reply
          0
          • C Chris Maunder

            The funny thing was that when I drafted the question I was thinking about all the smart comments that would be made and so I added "programming" before the word "language". But then thought: Nah - no one would answer with an English sentence. :doh:

            cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

            S Offline
            S Offline
            Slacker007
            wrote on last edited by
            #18

            Chris Maunder wrote:

            I was thinking about all the smart comments that would be made

            Well Chris, you remember how the last challenge went. :)

            "the meat from that butcher is just the dogs danglies, absolutely amazing cuts of beef." - DaveAuld (2011)
            "No, that is just the earthly manifestation of the Great God Retardon." - Nagy Vilmos (2011) "It is the celestial scrotum of good luck!" - Nagy Vilmos (2011)

            C 1 Reply Last reply
            0
            • C Chris Maunder

              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

              D Offline
              D Offline
              Dalek Dave
              wrote on last edited by
              #19

              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

              C N N R 4 Replies Last reply
              0
              • D Dalek Dave

                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

                N Offline
                N Offline
                Nagy Vilmos
                wrote on last edited by
                #20

                That's uglier than my photo!


                Panic, Chaos, Destruction. My work here is done. Drink. Get drunk. Fall over - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

                1 Reply Last reply
                0
                • D Dalek Dave

                  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

                  C Offline
                  C Offline
                  Chris Maunder
                  wrote on last edited by
                  #21

                  My eyes! They burn!

                  cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

                  D 1 Reply Last reply
                  0
                  • S Slacker007

                    Chris Maunder wrote:

                    I was thinking about all the smart comments that would be made

                    Well Chris, you remember how the last challenge went. :)

                    "the meat from that butcher is just the dogs danglies, absolutely amazing cuts of beef." - DaveAuld (2011)
                    "No, that is just the earthly manifestation of the Great God Retardon." - Nagy Vilmos (2011) "It is the celestial scrotum of good luck!" - Nagy Vilmos (2011)

                    C Offline
                    C Offline
                    Chris Maunder
                    wrote on last edited by
                    #22

                    Yes, like the weekly surveys, they are merely pedant fodder. :)

                    cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

                    D 1 Reply Last reply
                    0
                    • B Bassam Abdul Baki

                      Would you prefer an answer in Excel? :D

                      Web - BM - RSS - Math - LinkedIn

                      D Offline
                      D Offline
                      Dalek Dave
                      wrote on last edited by
                      #23

                      I took you at your word...See Below :)

                      --------------------------------- 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

                      1 Reply Last reply
                      0
                      • C Chris Maunder

                        My eyes! They burn!

                        cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

                        D Offline
                        D Offline
                        Dalek Dave
                        wrote on last edited by
                        #24

                        Functional but ugly. I have dated some like that!

                        --------------------------------- 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

                        1 Reply Last reply
                        0
                        • C Chris Maunder

                          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

                          W Offline
                          W Offline
                          wizardzz
                          wrote on last edited by
                          #25

                          Elephanting Sunshine! You expect us to do your homework?

                          "I have a theory that the truth is never told during the nine-to-five hours. " — Hunter S. Thompson

                          1 Reply Last reply
                          0
                          • C Chris Maunder

                            Yes, like the weekly surveys, they are merely pedant fodder. :)

                            cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

                            D Offline
                            D Offline
                            Dalek Dave
                            wrote on last edited by
                            #26

                            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

                            P 1 Reply Last reply
                            0
                            • C Chris Maunder

                              You may want to read the specs again.

                              cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

                              realJSOPR Offline
                              realJSOPR Offline
                              realJSOP
                              wrote on last edited by
                              #27

                              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

                              1 Reply Last reply
                              0
                              • C Chris Maunder

                                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

                                B Offline
                                B Offline
                                Bassam Abdul Baki
                                wrote on last edited by
                                #28

                                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.

                                Web - BM - RSS - Math - LinkedIn

                                1 Reply Last reply
                                0
                                • C Chris Maunder

                                  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

                                  R Offline
                                  R Offline
                                  Roger Wright
                                  wrote on last edited by
                                  #29

                                  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.

                                  C L 2 Replies Last reply
                                  0
                                  • D Dalek Dave

                                    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

                                    N Offline
                                    N Offline
                                    NormDroid
                                    wrote on last edited by
                                    #30

                                    Help my eyes, my poor eyes are bleeding :)

                                    Software Kinetics Wear a hard hat it's under construction
                                    Metro RSS

                                    1 Reply Last reply
                                    0
                                    • D Dalek Dave

                                      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

                                      P Offline
                                      P Offline
                                      PIEBALDconsult
                                      wrote on last edited by
                                      #31

                                      "The pedants are revolting!" (a la The Wizard of Id)

                                      1 Reply Last reply
                                      0
                                      • R Roger Wright

                                        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.

                                        C Offline
                                        C Offline
                                        Chris Maunder
                                        wrote on last edited by
                                        #32

                                        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

                                        S R 2 Replies Last reply
                                        0
                                        • R Roger Wright

                                          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.

                                          L Offline
                                          L Offline
                                          leppie
                                          wrote on last edited by
                                          #33

                                          Roger Wright wrote:

                                          The one featuring ravenous hamsters obviously recovering from a three day methamphetamine/ethanol binge?

                                          You read my mind ;p

                                          IronScheme
                                          ((λ (x) `(,x ',x)) '(λ (x) `(,x ',x)))

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups