小编kum*_*mo2的帖子

总计n的完美平方数的最少数量

问题是:

给定正整数n,找到总和为n的最小正方数(例如,1,4,9,16 ......).链接到问题

给定n = 12,返回3,因为12 = 4 + 4 + 4; 给定n = 13,返回2,因为13 = 4 + 9.

注意

我采用的方法类似于允许重复整数背包问题.首先,我计算了所有小于n的完美正方形.现在,一旦我拥有它们,问题类似于整数背包问题.我有一个数字n和一个数字列表.我想从列表中选择最小数量,使其总和等于n.这个问题有一个我用过的DP解决方案.

在586个测试用例中,我通过了562个测试用例并在下一个测试用例中获得了TLE.该测试用例的n值为3428.

我提交的解决方案:

class Solution(object):
    def numSquares(self,n):
        if(n == 0):
            return 0
        if(n == 1):
            return 1
        squares = self.findSquares(n) # returns a list of perfect squares <= n
        rows = len(squares)
        cols = n + 1
        mat = []
        for i in range(rows):
            mat.append([0] * cols)

        for i in range(cols): …
Run Code Online (Sandbox Code Playgroud)

algorithm dynamic-programming discrete-mathematics data-structures python-3.x

6
推荐指数
1
解决办法
1050
查看次数

gRPC c# 中的全局异常处理

我想要一个Global Exception Handler用于我的 gRPC 服务。通常我配置全局异常处理如下。但是如果我的服务方法中抛出任何异常,则不会以这种方式处理。有什么办法可以实现这一点吗?

static void Main(string[] args)
        {
            AppDomain.CurrentDomain.UnhandledException += GlobalExceptionHandler;
            throw new Exception();
            // Shutdown.WaitOne();
        }

        static void GlobalExceptionHandler(object sender, UnhandledExceptionEventArgs e) {
            throw new RpcException(new Status(StatusCode.Internal, e.ExceptionObject.ToString()));
        }
Run Code Online (Sandbox Code Playgroud)

c# exception grpc

6
推荐指数
1
解决办法
4178
查看次数

如何在稳定的Rust中使用std :: collections :: BitSet?

我试图使用BitSet数据结构,但它给我一个编译错误,说它无法找到BitSet.std::collections::BitSet在稳定版本中发布?

use std::collections::BitSet;

fn main() {
    println!("Hello, world!");
}
Run Code Online (Sandbox Code Playgroud)

产生错误:

error[E0432]: unresolved import `std::collections::BitSet`
 --> src/main.rs:1:5
  |
1 | use std::collections::BitSet;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^ no `BitSet` in `collections`
Run Code Online (Sandbox Code Playgroud)

rust

5
推荐指数
1
解决办法
1113
查看次数

c# Grpc Client 无法连接到本地主机上的 docker(for windows) 容器中托管的 Grpc Server

Grpc Greeter Service我和客户一起做了一个简单的。当服务托管在本地主机上时,客户端能够调用 rpc 并接收响应。但是,当服务在本地主机上的 docker 容器内运行时,客户端无法连接到该服务。

** Grpc 服务服务器 **

namespace GreeterServer
{
    class Program
    {
        private readonly static ManualResetEvent shutdown = new ManualResetEvent(false);
        static void Main(string[] args)
        {
            int port = 5000;
            Console.WriteLine("Hello World!");
            Server server = new Server{
                Services = {GreeterService.BindService(new GreeterController())},
                Ports = {new ServerPort("localhost", port, ServerCredentials.Insecure)}
            };
            server.Start();
            Console.WriteLine("Grpc Server started");
            Console.Read();
            shutdown.WaitOne();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

** Grpc 服务的 Dockerfile **

FROM microsoft/dotnet:2.1-sdk as base
WORKDIR /app

COPY *.csproj .
RUN dotnet restore

COPY …
Run Code Online (Sandbox Code Playgroud)

c# docker microservices grpc

5
推荐指数
1
解决办法
7785
查看次数

在python中迭代和更新列表

我无法理解为什么以下代码无限循环(当我不使用副本列表时)

list = ["Mohit","kumar","sffsfshfsd"]
for w in list:
    if(len(w)) > 5:
        list.insert(0,w)
    print("inside loop")

print(list)  
Run Code Online (Sandbox Code Playgroud)

上面的代码无限期地打印在循环内部.

现在,如果代替列表,我使用下面的副本列表工作正常.

list = ["mohit","kumar","sffffgssddf"]

for w in list[:]:
    if len(w) > 5:
        list.insert(0,w)
    print("inside loop")

print(list)  
Run Code Online (Sandbox Code Playgroud)

现在我已经在python文档中读到这是我将得到的行为,但我想了解它背后的原因.提前致谢.

python for-loop list python-2.x python-3.x

4
推荐指数
1
解决办法
1131
查看次数

为什么将盐与散列密码一起存储在数据库中

我目前正在开发一个需要存储哈希密码的系统。我正在使用cryptographically secure pseudo-random number generator(CSPRNG)生成salt. 我正在使用 来PBKDF2哈希附加的密码,salt最终将存储在数据库中。

我不明白的是为什么我什至需要将salt与 一起存储hashed password在数据库中。我确实理解 的目的salt。它大大降低了攻击成功的机会rainbow and lookup。此外,具有相同密码的用户将在数据库中存储不同的哈希值。

那么哪里需要将盐存储在数据库中呢?

更新:

我应该早点提到这一点,但那次我并没有注意到。这里password永远不会由用户提供。这是为了我们的内部目的。我们只需要在用户第一次访问我们的网站时生成它,稍后我们将Hashed在响应中发送此密码。

security encryption hash

3
推荐指数
1
解决办法
2627
查看次数

如果不使用解构分配,则要求不工作

在我的nodejs,我有一个小的mongoose模块,它exportsmodel (User)。当我在不使用destructuring分配的情况下需要模块并且使用new运算符创建模型的新实例时,我会得到error模型不是函数。但是,如果destructuringrequire在模型中使用分配,则一切正常。不明白为什么。

User.js导出模型

const mongoose = require('mongoose');

exports.User = mongoose.model('User', {
    email:{
        type: String,
        trim: true,
        minlength: 1,
        reuqired: true
    }
});
Run Code Online (Sandbox Code Playgroud)

如果我在第2行不使用解构运算符,则以下代码将引发错误:
server.js

const mongoose = require('../DB/mongoose');
const User = require('../Models/User');

console.log(typeof(User));

let user = new User({
    email: "sdfdsf"
});
Run Code Online (Sandbox Code Playgroud)

server.js引发以下错误:

let user = new User({
           ^

TypeError: User is not a constructor
    at Object.<anonymous> (F:\javascript\nodePractice\ToDoApp\server\server.js:6:12) …
Run Code Online (Sandbox Code Playgroud)

javascript node.js ecmascript-6 es6-modules

3
推荐指数
1
解决办法
2370
查看次数

在 Rust 中使用 warp 提供静态文件

我正在使用warp库在 Rust 中制作一个网络应用程序。我正在尝试提供静态文件。\n我已从Doc阅读了其文档。

\n\n

这是我的代码片段

\n\n
use serde::Deserialize;\nuse serde::Serialize;\nuse warp::path;\nuse warp::Filter;\n\n#[tokio::main]\nasync fn main() {\n    let static_assets = warp::path("static").and(warp::fs::dir("/www/static"));\n\n    // let routes = get_routes.or(post_routes).or(static_assets).or(file_route);\n    let routes = static_assets;\n\n    warp::serve(routes).run(([127, 0, 0, 1], 3030)).await;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是当我访问该路径时localhost:3030/static/index.js,它会返回404响应

\n\n

这是文件树

\n\n
src\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.rs\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 www\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 static\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.js\n
Run Code Online (Sandbox Code Playgroud)\n

web-applications rust rust-warp

2
推荐指数
1
解决办法
5437
查看次数

python 3中字符串切片操作的时间复杂度

给定一个字符串s长度为n,切片操作s[i : j]Python 3中,其中
(0 <=i <= j <= n),需要多少时间在大O符号?

是 O(n) 或 O(1) 还是其他什么?

编辑

在python 3中切片列表和字符串是否有任何实现差异?

python string python-3.x

1
推荐指数
1
解决办法
3281
查看次数

无法理解如何在java中定义List列表

我想了解两个定义之间的区别以及为什么正确的定义是正确的,错误是错误的.

那个显示编译错误的那个

List<List<Integer>> arr2 = new ArrayList<ArrayList<Integer>>();  
Run Code Online (Sandbox Code Playgroud)

它给我的错误:

 try2.java:8: error: incompatible types: ArrayList<ArrayList<Integer>> cannot be
converted to List<List<Integer>>
                List<List<Integer>> arr2 = new ArrayList<ArrayList<Integer>>();
Run Code Online (Sandbox Code Playgroud)

正在工作的那个:

List<ArrayList<Integer>> arr = new ArrayList<ArrayList<Integer>>();
Run Code Online (Sandbox Code Playgroud)

注意:

我理解为什么下面这个有效:

List<Integer> arr = new ArrayList<Integer>();  
Run Code Online (Sandbox Code Playgroud)

编辑-1:

现在我只想了解问题所在 List<List<Integer>> arr2 = new ArrayList<ArrayList<Integer>>();

java collections associative-array list java-7

1
推荐指数
1
解决办法
128
查看次数

密码哈希方法

我需要在用户第一次注册到系统时将散列密码存储在数据库中.标准方法是使用Password和a salt,追加它们并使用散列算法,其输出保存在数据库中.

我将使用Cryptographically Secure Pseudo-Random Number Generator(CSPRNG)来生成salt.使用生成的盐CSPRNG非常安全,salts因为我从源链接中读取.由于salt很难预测,使用MD5散列最终String(Password || salt)是一个很好的决定还是有更好的选择?

注意:

我正在考虑选择哈希算法的参数:
1)安全性应该非常好.
2)散列算法应该足够快,不会妨碍用户体验.

security encryption hash

1
推荐指数
1
解决办法
47
查看次数