试图解决Ruby中算法的基本问题,并测试性能.
以防万一,算法的目的是找到最小的正数,它可以被1到20之间的所有数字整除.这是代码:
def remainder(number) # with while
divisor = 2
while divisor < 21
return false unless number % divisor == 0
divisor += 1
end
true
end
def remainder(number) # with each
(2..20).each do |divisor|
return false unless number % divisor == 0
end
true
end
number = 180_000_000
while number < 10_000_000_000
if remainder number
puts "#{number}"
break
end
number += 1
end
Run Code Online (Sandbox Code Playgroud)
在我的计算机上,使用while版本,Ruby大约需要10秒,每个版本需要70到80秒才能解决.代码完全相同,给出相同的结果.为什么性能如此差异?
这是最简单的代码:
export default class App extends React.Component {
render() {
return (
<View style={styles.container}>
<Image resizeMode={'contain'} source={imageSource}/>
</View>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
})
Run Code Online (Sandbox Code Playgroud)
如果resizeMode设置在'center'上,它的工作方式几乎与预期一致,但在'contains'时,图像不会调整大小.图像真的很大,但它没有调整大小......我哪里错了?:)