-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathList_1.py
160 lines (122 loc) · 5.25 KB
/
List_1.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# Basic python list problems -- no loops.. Use a[0], a[1], ... to access elements in a list, len(a) is the length.
# ----------------------------------------------------------------------------------------------------------------------
#
# Given an array of ints, return True if 6 appears as either the first or last element in the array.
# The array will be length 1 or more.
#
# first_last6([1, 2, 6]) → True
# first_last6([6, 1, 2, 3]) → True
# first_last6([13, 6, 1, 2, 3]) → False
def first_last6(nums):
return nums[0] == 6 or nums[-1] == 6
# ----------------------------------------------------------------------------------------------------------------------
#
# Given an array of ints, return True if the array is length 1 or more,
# and the first element and the last element are equal.
#
#
# same_first_last([1, 2, 3]) → False
# same_first_last([1, 2, 3, 1]) → True
# same_first_last([1, 2, 1]) → True
def same_first_last(nums):
return len(nums) >= 1 and nums[0] == nums[-1]
# ----------------------------------------------------------------------------------------------------------------------
# #
# Return an int array length 3 containing the first 3 digits of pi, {3, 1, 4}.
#
#
# make_pi() → [3, 1, 4]
def make_pi():
return [3, 1, 4]
# ----------------------------------------------------------------------------------------------------------------------
# #
# Given 2 arrays of ints, a and b, return True if they have the same first element or they have the same last element.
# Both arrays will be length 1 or more.
#
#
# common_end([1, 2, 3], [7, 3]) → True
# common_end([1, 2, 3], [7, 3, 2]) → False
# common_end([1, 2, 3], [1, 3]) → True
def common_end(a, b):
return a[0] == b[0] or a[-1] == b[-1]
# ----------------------------------------------------------------------------------------------------------------------
#
# Given an array of ints length 3, return the sum of all the elements.
#
# sum3([1, 2, 3]) → 6
# sum3([5, 11, 2]) → 18
# sum3([7, 0, 0]) → 7
def sum3(nums):
return nums[0] + nums[1] + nums[2]
# ----------------------------------------------------------------------------------------------------------------------
#
# Given an array of ints length 3, return an array with the elements "rotated left" so {1, 2, 3} yields {2, 3, 1}.
#
#
# rotate_left3([1, 2, 3]) → [2, 3, 1]
# rotate_left3([5, 11, 9]) → [11, 9, 5]
# rotate_left3([7, 0, 0]) → [0, 0, 7]
def rotate_left3(nums):
return [nums[1], nums[2], nums[0]]
# ----------------------------------------------------------------------------------------------------------------------
#
# Given an array of ints length 3, return a new array with the elements in reverse order, so {1, 2, 3} becomes {3, 2,
# 1}.
#
#
# reverse3([1, 2, 3]) → [3, 2, 1]
# reverse3([5, 11, 9]) → [9, 11, 5]
# reverse3([7, 0, 0]) → [0, 0, 7]
def reverse3(nums):
return [nums[2], nums[1], nums[0]]
# ----------------------------------------------------------------------------------------------------------------------
#
# Given an array of ints length 3, figure out which is larger,
# the first or last element in the array, and set all the other elements to be that value. Return the changed array.
#
#
# max_end3([1, 2, 3]) → [3, 3, 3]
# max_end3([11, 5, 9]) → [11, 11, 11]
# max_end3([2, 11, 3]) → [3, 3, 3]
def max_end3(nums):
return [nums[0]] * 3 if nums[0] >= nums[-1] else [nums[-1]] * 3
# ----------------------------------------------------------------------------------------------------------------------
#
# Given an array of ints, return the sum of the first 2 elements in the array.
# If the array length is less than 2, just sum up the elements that exist, returning 0 if the array is length 0.
#
# sum2([1, 2, 3]) → 3
# sum2([1, 1]) → 2
# sum2([1, 1, 1, 1]) → 2
def sum2(nums):
return sum(nums[:2])
# ----------------------------------------------------------------------------------------------------------------------
#
# Given 2 int arrays, a and b, each length 3, return a new array length 2 containing their middle elements.
#
# middle_way([1, 2, 3], [4, 5, 6]) → [2, 5]
# middle_way([7, 7, 7], [3, 8, 0]) → [7, 8]
# middle_way([5, 2, 9], [1, 4, 5]) → [2, 4]
def middle_way(a, b):
return [a[1], b[1]]
# ----------------------------------------------------------------------------------------------------------------------
#
# Given an array of ints, return a new array length 2 containing the first and last elements from the original array.
# The original array will be length 1 or more.
#
#
# make_ends([1, 2, 3]) → [1, 3]
# make_ends([1, 2, 3, 4]) → [1, 4]
# make_ends([7, 4, 6, 2]) → [7, 2]
def make_ends(nums):
return [nums[0], nums[-1]]
# ----------------------------------------------------------------------------------------------------------------------
# Given an int array length 2, return True if it contains a 2 or a 3.
#
# has23([2, 5]) → True
# has23([4, 3]) → True
# has23([4, 5]) → False
def has23(nums):
return 2 in nums or 3 in nums
# ----------------------------------------------------------------------------------------------------------------------
#