Redian新闻
>
(科普)透视与焦距的关系
avatar
(科普)透视与焦距的关系# PhotoGear - 摄影器材
a*0
1
代码本身很简单 但是超时 而且test case 不容易复制 因为是cap =2048 然后一长串
操作的
import java.util.*;
public class LRUCache {

int cap;
//hashmap is for Cache's storage
// arraylist is for items' recencies
HashMap myHashMap; // key-value
ArrayList myArrayList; // key


public LRUCache(int capacity) { // this is the constructor

this.cap = capacity;
myHashMap = new HashMap(); // key-value
myArrayList = new ArrayList();// key
}

public int get(int key) {

if(this.myHashMap.get(key) == null)
return -1;

this.myArrayList.remove(new Integer(key));
this.myArrayList.add(key);

return this.myHashMap.get(key).intValue();

}

public void set(int key, int value) {



if(this.myHashMap.size()< this.cap){

if(this.myHashMap.get(key) != null){

this.myHashMap.put(key,value);
this.myArrayList.remove(new Integer(key));
this.myArrayList.add(key);
}else{
this.myHashMap.put(key,value);
this.myArrayList.add(key);
}


}else{
if(this.myHashMap.get(key) != null){

this.myHashMap.put(key,value);
this.myArrayList.remove(new Integer(key));
this.myArrayList.add(key);

}else{

this.myHashMap.remove(myArrayList.get(0));
this.myHashMap.put(key,value);
this.myArrayList.remove(0); // remove entry with index =0
this.myArrayList.add(key);

}

}

}

}
avatar
e*x
2
我看到有个plan,12块多,和网络一起还可以便宜。想问下,打入电话得要钱吗?
这个plan还行不?
avatar
H*s
3
EB3 NSC
PD 2013.10
RD 2016.10
RFE 2017.12.11 (medical only)
RRFE 2017.12.26
AD 2018.02.07 (what a long wait after RRFE!)
avatar
c*k
4
冬天泡脚一大享受啊. 看到WALMART有卖那种泡脚的盆,好象可以加热的,不知道好不好.
avatar
a*6
5
实在看不下去了。真不明白版上大多数人都是理工科背景,怎么可能很多人连这个基本
概念都搞不清楚。
1 透视与焦距毫无关系!8毫米和800毫米的镜头在透视上是完全一样的。
2 透视仅与镜头距离被摄物体的距离相关,距离越近,透视效应越强,反之则越弱。
3 广角镜头给人透视强烈的原因是因为要想使被摄主体在画面中和标头甚至长焦镜头中
一样大小的话,就必须离被摄主体更近,透视因而更强。
4 长焦所谓的压缩效果实质上还是透视效应,因为镜头离被摄主体远,透视弱,和后面
的背景好像就被拉近了。
5 透视与画幅,比如大幅,中幅,全幅,APS,甚至PS毫无关系。
avatar
l*8
6
myArrayList.remove is O(n)

【在 a**********0 的大作中提到】
: 代码本身很简单 但是超时 而且test case 不容易复制 因为是cap =2048 然后一长串
: 操作的
: import java.util.*;
: public class LRUCache {
:
: int cap;
: //hashmap is for Cache's storage
: // arraylist is for items' recencies
: HashMap myHashMap; // key-value
: ArrayList myArrayList; // key

avatar
T*y
7
一般打出(local)或打出都不要钱,已经包月了.但,具体你要问ATT. 除非这里的人知道
你看到的是啥,而且很了解那个.

【在 e****x 的大作中提到】
: 我看到有个plan,12块多,和网络一起还可以便宜。想问下,打入电话得要钱吗?
: 这个plan还行不?

avatar
f*5
8
GXGX
avatar
f*y
9
赞。

【在 a********6 的大作中提到】
: 实在看不下去了。真不明白版上大多数人都是理工科背景,怎么可能很多人连这个基本
: 概念都搞不清楚。
: 1 透视与焦距毫无关系!8毫米和800毫米的镜头在透视上是完全一样的。
: 2 透视仅与镜头距离被摄物体的距离相关,距离越近,透视效应越强,反之则越弱。
: 3 广角镜头给人透视强烈的原因是因为要想使被摄主体在画面中和标头甚至长焦镜头中
: 一样大小的话,就必须离被摄主体更近,透视因而更强。
: 4 长焦所谓的压缩效果实质上还是透视效应,因为镜头离被摄主体远,透视弱,和后面
: 的背景好像就被拉近了。
: 5 透视与画幅,比如大幅,中幅,全幅,APS,甚至PS毫无关系。

avatar
a*0
10
那怎么办
记录recency的要容易找到头节点 因为有时要删除最老的 也要可以删除random的一个
因为要更新某key的recency
int[] 估计不行 因为删除需要重新调整array的内容
怎么办?

【在 l*********8 的大作中提到】
: myArrayList.remove is O(n)
avatar
s*a
11
同赞
排包子
avatar
a*0
12
网上很多linkedlistHashmap 不用那个有什么解决方法
avatar
s*a
13
5 透视与画幅,比如大幅,中幅,全幅,APS,甚至PS毫无关系。
补充:不含剪切重新拼图
avatar
l*8
14
自己写一个double linked list

【在 a**********0 的大作中提到】
: 网上很多linkedlistHashmap 不用那个有什么解决方法
avatar
f*g
15
应该置顶,然后jhq

【在 a********6 的大作中提到】
: 实在看不下去了。真不明白版上大多数人都是理工科背景,怎么可能很多人连这个基本
: 概念都搞不清楚。
: 1 透视与焦距毫无关系!8毫米和800毫米的镜头在透视上是完全一样的。
: 2 透视仅与镜头距离被摄物体的距离相关,距离越近,透视效应越强,反之则越弱。
: 3 广角镜头给人透视强烈的原因是因为要想使被摄主体在画面中和标头甚至长焦镜头中
: 一样大小的话,就必须离被摄主体更近,透视因而更强。
: 4 长焦所谓的压缩效果实质上还是透视效应,因为镜头离被摄主体远,透视弱,和后面
: 的背景好像就被拉近了。
: 5 透视与画幅,比如大幅,中幅,全幅,APS,甚至PS毫无关系。

avatar
a*0
16
remove 仍然 O(n)
而且没法根据内容remove (每次get set之后要更新recency)
我建议你简单写几行代码取代原来的arraylist 否则我不太清楚你的思路

【在 l*********8 的大作中提到】
: 自己写一个double linked list
avatar
l*a
17
照样没人看,然后该问的还问该吵的还吵

【在 f*****g 的大作中提到】
: 应该置顶,然后jhq
avatar
l*8
18
http://www.programcreek.com/2013/03/leetcode-lru-cache-java/

【在 a**********0 的大作中提到】
: remove 仍然 O(n)
: 而且没法根据内容remove (每次get set之后要更新recency)
: 我建议你简单写几行代码取代原来的arraylist 否则我不太清楚你的思路

avatar
h*u
19
avatar
a*0
20
懒得再在这个上花时间了 我的代码logic是对的
avatar
S*M
21
常驻的都知道
不知道的也不会去看你写的东西
avatar
w*s
22
get的操作不是O(1),当然超市了
这题很简单,用hashmap记录,用list维护序列
class LRUCache{
public:
unordered_map _map;
unordered_map::iterator> _itmap;
list* _keylist;
int _capacity;

LRUCache(int capacity) {
_keylist = new list(capacity);
_capacity = capacity;
}

int get(int key) {
int value = -1;

if (_map.find(key) != _map.end())
{
value = _map[key];
_keylist->erase(_itmap[key]);
_keylist->push_front(key);
_itmap[key] = _keylist->begin();
}

return value;
}

void set(int key, int value) {
if (_map.find(key) != _map.end())
{
_map[key] = value;
_keylist->erase(_itmap[key]);
_keylist->push_front(key);
_itmap[key] = _keylist->begin();
return;
}

if (_keylist->size() >= _capacity)
{
int k = _keylist->back();
_keylist->pop_back();
_itmap.erase(k);
_map.erase(k);
}

_keylist->push_front(key);
_itmap[key] = _keylist->begin();
_map[key] = value;
}
};

【在 a**********0 的大作中提到】
: 代码本身很简单 但是超时 而且test case 不容易复制 因为是cap =2048 然后一长串
: 操作的
: import java.util.*;
: public class LRUCache {
:
: int cap;
: //hashmap is for Cache's storage
: // arraylist is for items' recencies
: HashMap myHashMap; // key-value
: ArrayList myArrayList; // key

avatar
l*a
23
你这一句话,有些不清楚的也不好意思问了,呵呵

【在 S*M 的大作中提到】
: 常驻的都知道
: 不知道的也不会去看你写的东西

avatar
w*s
24
用hashmap存key->iterator

【在 a**********0 的大作中提到】
: 代码本身很简单 但是超时 而且test case 不容易复制 因为是cap =2048 然后一长串
: 操作的
: import java.util.*;
: public class LRUCache {
:
: int cap;
: //hashmap is for Cache's storage
: // arraylist is for items' recencies
: HashMap myHashMap; // key-value
: ArrayList myArrayList; // key

avatar
b*e
25
re
avatar
l*8
26
c++是可以这样做。 不知道JAVA可以吗?

【在 w********s 的大作中提到】
: 用hashmap存key->iterator
avatar
d*0
27
光写statement起不到科普的效果
avatar
S*M
28
那天60D vs 5D帖子里拎不清的都是从来没见过的id
而且一上来还都是“这版人怎么这么糊涂”

【在 l***a 的大作中提到】
: 你这一句话,有些不清楚的也不好意思问了,呵呵
avatar
p*p
29
早就建议搞个FAQ然后置顶
可惜都被历届版主无视了

【在 f*****g 的大作中提到】
: 应该置顶,然后jhq
avatar
w*n
30
你不能说毫无关系,只是没有直接关系,但实际上焦距,画幅都会影响距离。所以还是
有间接关系的。

【在 a********6 的大作中提到】
: 实在看不下去了。真不明白版上大多数人都是理工科背景,怎么可能很多人连这个基本
: 概念都搞不清楚。
: 1 透视与焦距毫无关系!8毫米和800毫米的镜头在透视上是完全一样的。
: 2 透视仅与镜头距离被摄物体的距离相关,距离越近,透视效应越强,反之则越弱。
: 3 广角镜头给人透视强烈的原因是因为要想使被摄主体在画面中和标头甚至长焦镜头中
: 一样大小的话,就必须离被摄主体更近,透视因而更强。
: 4 长焦所谓的压缩效果实质上还是透视效应,因为镜头离被摄主体远,透视弱,和后面
: 的背景好像就被拉近了。
: 5 透视与画幅,比如大幅,中幅,全幅,APS,甚至PS毫无关系。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。