根据https://blog.golang.org/strings和我的测试,看起来当我们range是一个字符串时,我们得到的字符是rune类型,但是如果我们通过 获取它str[index],它们将是byte类型,这是为什么呢?
我正在关注http://docs.aws.amazon.com/lambda/latest/dg/with-s3-example-upload-deployment-pkg.html上一起实现 lambda 和 S3 的教程
我添加了一个角色(IAM > Roles > lambda-s3-execution-role),它有策略AWSLambdaExecute:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:*"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
此外,我已将IAM用户设置为adminuser,并且可以运行类似命令aws lambda list-functions --profile adminuser,但是当我运行以下命令时
aws lambda create-function \
--region us-east-2 \
--function-name CreateThumbnail \
--zip-file fileb://~/Deployment/build/distributions/lambdaDeployment.zip \
--role arn:aws:iam::12345678:role/lambda-s3-execution-role \
--handler CreateThumbnail.handler \
--runtime java8 \
--profile adminuser \
--timeout …Run Code Online (Sandbox Code Playgroud) 有一个有向图(可能包含循环),每个节点都有一个值,我们怎么能得到每个节点的可达值之和.例如,在下图中:
节点1的可达和为:2 + 3 + 4 + 5 + 6 + 7 = 27
节点2的可达和为:4 + 5 + 6 + 7 = 22
.....
我的解决方案:为了获得所有节点的总和,我认为时间复杂度为O(n + m),n是节点数,m代表边数.应该使用DFS,对于每个节点,我们应该递归地使用一个方法来找到它的子节点,并在完成它的计算时保存子节点的总和,以便将来我们不需要再次计算它.需要为每个节点创建一个集合,以避免由循环引起的无限计算.
它有用吗?我认为它不够优雅,特别是必须创建许多套装.有没有更好的解决方案?谢谢.