leetcode259. 较小的三数之和
生活随笔
收集整理的這篇文章主要介紹了
leetcode259. 较小的三数之和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個長度為 n 的整數數組和一個目標值 target,尋找能夠使條件?nums[i] + nums[j] + nums[k] < target?成立的三元組??i, j, k?個數(0 <= i < j < k < n)。
示例:
輸入: nums = [-2,0,1,3], target = 2
輸出: 2?
解釋: 因為一共有兩個三元組滿足累加和小于 2:
?? ? [-2,0,1]
? ? ?[-2,0,3]
進階:是否能在?O(n2) 的時間復雜度內解決?
思路:枚舉左端點i,然后對i到len之間跑雙指針,算出總數。
class Solution {public int threeSumSmaller(int[] nums, int target) {int ans=0;int len=nums.length;int left,right;Arrays.sort(nums);for(int i=0;i<len;++i){left=i+1;right=len-1;while(left<right) {int three=nums[left]+nums[right]+nums[i];if(three>=target){right--;}else{ans+=right-left;left++;}}}return ans;} }?
總結
以上是生活随笔為你收集整理的leetcode259. 较小的三数之和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图的基本概念【数据结构】
- 下一篇: AJAX大总结