6 questions. Covers Half-open ranges.
Questions 1 to 5 of 6
cpp #include <iostream> #include <string> #include <vector> using namespace std; int main() { vector<string> names = {"Ada", "Ben", "Chen", "Dara", "Eli", "Fay", "Gus", "Hana"}; for (int i = 2; i < 4; ++i) { cout << names[i] << "\n"; } return 0; }
i < 5
i < 3
cpp #include <iostream> using namespace std; struct Meeting { int start; int end; }; bool overlaps_closed(Meeting a, Meeting b) { return a.start <= b.end && b.start <= a.end; } int main() { Meeting first = {9, 10}; Meeting second = {10, 11}; cout << "clash: " << overlaps_closed(first, second) << "\n"; return 0; }
clash: 1
<=
<
clash: 0
cpp #include <algorithm> #include <iostream> #include <string> #include <vector> using namespace std; int main() { vector<string> names = {"Ada", "Ben", "Chen", "Dara", "Eli", "Fay", "Gus", "Hana"}; int n = static_cast<int>(names.size()); for (int lo = 0; lo < n; lo += 3) { int hi = min(lo + 3, n - 1); for (int i = lo; i < hi; ++i) cout << names[i] << " "; cout << "\n"; } return 0; }
lo = 1
i <= hi
hi
lo <= n
min(lo + 3, n)
n - 1
cpp #include <algorithm> #include <iostream> #include <vector> using namespace std; int main() { vector<int> v = {1, 2, 3, 4, 5, 6, 7}; int n = static_cast<int>(v.size()); for (int lo = 0; lo < n; lo += 3) { int hi = min(lo + 3, n); cout << "[" << lo << ", " << hi << ") " << hi - lo << "\n"; } return 0; }
cpp #include <algorithm> #include <iostream> #include <vector> using namespace std; int main() { vector<int> v = {1, 3, 3, 8, 9}; cout << lower_bound(v.begin(), v.end(), 3) - v.begin() << "\n"; cout << lower_bound(v.begin(), v.end(), 10) - v.begin() << "\n"; return 0; }
5 question(s) left on this page.