int threeSumClosest(vector<int>& nums, int target) { int minDifference = INT_MAX; int desiredSum = INT_MIN; if(nums.empty()) return minDifference; sort(nums.begin(), nums.end()); for(int i3 = nums.size() - 1; i3 > 0; i3 = moveIndex(nums, i3, false)) { for(int i1 = 0, i2 = i3 - 1; i1 < i2;) { const int sum = nums[i1] + nums[i2] + nums[i3]; if(sum == target) return sum; const int difference = (int) abs(target - sum); if(difference < minDifference) { minDifference = min(minDifference, difference); desiredSum = sum; } if(sum > target) i2 = moveIndex(nums, i2, false); else i1 = moveIndex(nums, i1, true); } } return desiredSum; }
void CommandHistoryWindow::moveIndexToMouse() { sf::Vector2f localMouseFloat(getLocalPoint(sf::Mouse::getPosition(m_window))); if(!getLocalBounds().contains(localMouseFloat)) //SFML BUG: SOMETIMES MOUSE IS NOT IN BOUNDS return; int clickedIndex = static_cast<int>(localMouseFloat.y / m_entrySize.y); moveIndex(clickedIndex - std::distance(m_commandList.begin(), m_iterator)); }
void IPFilterModel::moveDown(const QModelIndex &i){ moveIndex(i, true); }
void IPFilterModel::moveUp(const QModelIndex &i){ moveIndex(i, false); }