今天有人问我以下问题:如果可能,有人可以共享一个O(n)解决方案(具有恒定的空间)吗?
/ ************************************************** ********************************
完成以下将整数向量作为参数的函数 并删除重复值,以使最多两个相同值的实例 留在向量中。其余元素的顺序必须保留。
例如,给定以下输入: 0,10,10,100,-1,-1,-1,5,5,5,8,8,9,10,10,3,9,7,0,0,0
此功能应输出 0、10、10、100,-1,-1、5、5、8、9、3、9、7、0
*************************************************** ************************************** /
我的答案:
Glide.with(getapplicationContext()).asBitmap().load(uri).fitCenter().into(new CustomTarget<Bitmap>(2000,2000) {
@Override
public void onResourceReady(@NonNull Bitmap resource,@Nullable Transition<? super Bitmap> transition) {
fullImage.setScaleType(GPUImage.ScaleType.CENTER_INSIDE);
tmpImageView.setImageBitmap(resource);
tmpImageView.setVisibility(View.INVISIBLE);
ViewTreeObserver vto = tmpImageView.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
tmpImageView.getViewTreeObserver().removeonPreDrawListener(this);
mGPUImage.setLayoutParams(new FrameLayout.LayoutParams(BG_imgV.getMeasuredWidth(),BG_imgV.getMeasuredHeight(),Gravity.CENTER));
return true;
}
});
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {
}
});