Line with most polnts def line_with_most_points(points): 4 point on the two-dimensional grid of integers is given as a two-tuple of x- and y-coordinates, for example (2, 5) or (10, 1). As originaly postulated by Euclid, given any two distinct points on the plane, there exists exactly one straight line that goes through both points. (In differently shaped spaces, different rules and their consequences apply:) Of course, this same line, being shamelessly nfinite to both directions, will also pass through an infinity of other points on that plane. Given a list of pointa on the integer grid, find the line that contains the largest number of points rom this list. To guarantee the uniqueness of the expected result for every test case, this function should not return the line itself, but merely the count of how many of these points lie on that line. The list of points is guaranteed to contain at least two points and that all points in the list are distinct, but otherwise these points are not given in any specific order. To get started, consult the example program geometry.pyfor the cross product function that can be used to quickly determine whether three given points on the plane are collinear. points Expected result [(42, 1), (7, 5)] 2 [(1, 4), (2, 6), (3, 2), (4, 10)] [(x, y) for x in range (10) for y in range(10)] 10 [(3, 5), (1, 4), (2, 6), (7, 7), (3, 8)1 3 (7 3) (7 A 2

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

Please help with the following python programming problems

 

Line with most points
def line_with_most_points (points):
A point on the two-dimensional grid of integers is given as a two-tuple of x- and y-coordinates, for
example (2, 5) or (10, 1). As originally postulated by Euclid, given any two distinct points on
the plane, there exists exactly one straight line that goes through both points. (In differently shaped
spaces, different rules and their consequences apply) Of course, this same line, being shamelessly
infinite to both directions, will also pass through an infinity of other points on that plane.
Given a list of points on the integer grid, find the line that contains the largest number of points
from this list. To guarantee the uniqueness of the expected result for every test case, this function
should not return the line itself, but merely the count of how many of these points lie on that line.
The list of points is guaranteed to contain at least two points and that all points in the list are
distinct, but otherwise these points are not given in any specific order.
To get started, consult the example program geometry-py for the cross product function that can
be used to quickly determine whether three given points on the plane are collinear.
points
Expected result
[ (42, 1), (7, 5)]
2
[(1, 4), (2, 6), (3, 2), (4, 10)]
3
[(x, y) for x in range (10) for y in range (10)]
10
[ (3, 5), (1, 4), (2, 6), (7, 7), (3, 8)]
3
[(5, 6), (7, 3), (7, 1), (2, 1), (7, 4), (2, 6), (7, 7)1 4
Transcribed Image Text:Line with most points def line_with_most_points (points): A point on the two-dimensional grid of integers is given as a two-tuple of x- and y-coordinates, for example (2, 5) or (10, 1). As originally postulated by Euclid, given any two distinct points on the plane, there exists exactly one straight line that goes through both points. (In differently shaped spaces, different rules and their consequences apply) Of course, this same line, being shamelessly infinite to both directions, will also pass through an infinity of other points on that plane. Given a list of points on the integer grid, find the line that contains the largest number of points from this list. To guarantee the uniqueness of the expected result for every test case, this function should not return the line itself, but merely the count of how many of these points lie on that line. The list of points is guaranteed to contain at least two points and that all points in the list are distinct, but otherwise these points are not given in any specific order. To get started, consult the example program geometry-py for the cross product function that can be used to quickly determine whether three given points on the plane are collinear. points Expected result [ (42, 1), (7, 5)] 2 [(1, 4), (2, 6), (3, 2), (4, 10)] 3 [(x, y) for x in range (10) for y in range (10)] 10 [ (3, 5), (1, 4), (2, 6), (7, 7), (3, 8)] 3 [(5, 6), (7, 3), (7, 1), (2, 1), (7, 4), (2, 6), (7, 7)1 4
Double trouble
def double_trouble(items, n):
Suppose, if just for the sake of argument, that the following operation is repeated n times for the
given list of iteme: remove the first element, and append that same element twice to the end of
items. Which one of the items would be removed and copied in the last operation performed?
Sure, this problem could be finger-quotes "solved" by actually performing that operation n times,
but the point of this exercise is to come up with an analytical solution to compute the result much
faster than actually going through that whole rigmarole. To gently nudge you towards thinking in
symbolic and analytical solutions, the automated tester is designed so that anybody trying to brute
force their way through this problem by performing all n operations one by one for real will run out
of time and memory long before receiving the answer, as will the entire universe.
To come up with this analytical solution, tabulate some small cases (you can implement the brute
force function to compute these) and try to spot the pattern that generalizes to arbitrarily large
values of n. You can again also check out Wolfram Alpha or similar systems capable of manipulation
of symbolic formulas to simplify combinatorial and summing formulas.
Expected result
items
n
['joe', 'bob', 42]
10
'joe'
[17, 42, 99]
1000
17
[17, 42, 99]
10**20
99
['only', 'the', 'number', 'of',
"matters' ]
10**1000 'the'
'items'
Transcribed Image Text:Double trouble def double_trouble(items, n): Suppose, if just for the sake of argument, that the following operation is repeated n times for the given list of iteme: remove the first element, and append that same element twice to the end of items. Which one of the items would be removed and copied in the last operation performed? Sure, this problem could be finger-quotes "solved" by actually performing that operation n times, but the point of this exercise is to come up with an analytical solution to compute the result much faster than actually going through that whole rigmarole. To gently nudge you towards thinking in symbolic and analytical solutions, the automated tester is designed so that anybody trying to brute force their way through this problem by performing all n operations one by one for real will run out of time and memory long before receiving the answer, as will the entire universe. To come up with this analytical solution, tabulate some small cases (you can implement the brute force function to compute these) and try to spot the pattern that generalizes to arbitrarily large values of n. You can again also check out Wolfram Alpha or similar systems capable of manipulation of symbolic formulas to simplify combinatorial and summing formulas. Expected result items n ['joe', 'bob', 42] 10 'joe' [17, 42, 99] 1000 17 [17, 42, 99] 10**20 99 ['only', 'the', 'number', 'of', "matters' ] 10**1000 'the' 'items'
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Function Arguments
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education