简介
dp 经典问题
code
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
int maxLength = 0;
vector<int> nums1(nums.size(), 1);
for(int j=0; j<nums.size(); j++){
for(int i = 0; i<j; i++){
if(nums[i] < nums[j]) nums1[j] = max(nums1[i] + 1, nums1[j]);
}
}
for(auto it:nums1){
if(it > maxLength){
maxLength = it;
}
}
return maxLength;
}
};
class Solution {
public int lengthOfLIS(int[] nums) {
int n = nums.length;
ArrayList<Integer> v = new ArrayList<Integer>();
for(int i=0; i<n; i++){
v.add(1);
}
for(int i=0; i<n; i++){
for(int j=0; j<i; j++){
if(nums[j] < nums[i]){
v.set(i, Math.max(v.get(i), v.get(j)+1)); // arrayList set 方法
}
}
}
int maxLength = 0;
for(int it : v){
if(it > maxLength){
maxLength = it;
}
}
return maxLength;
}
}
TIPS
发现 java 的方法确实不如c++方面比如, 没有operator来简化操作.
---------------------------我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。我从来就没有太阳,所以不怕失去。
--------《白夜行》