小编gre*_*ard的帖子

切割棒使成本最小化

你必须把一根长棍切成l几块.必须在位置c1, c2, c3, ..., cn处进行切割,其中ci是整数1n-1(包括)之间的整数.切割的成本等于制作它的棒的长度.削减的顺序应该是什么,以最大限度地降低运营的总成本?

例如,考虑长度10和切割必须在位置进行切割2, 4, 7.你可以按照给定的顺序切割木棒.第一次切割会花费10,因为棒是长度的10.第二次切割会花费8,因为切割所用的剩余棒是长度的10 - 2 = 8.最后的削减将花费6,因为剩余的棍子的长度是10 - 4 = 6.总费用是10 + 8 + 6 = 24

但是,如果我们按顺序切割棒:4, 2, 7我们得到的成本10 + 4 + 6 = 20对我们来说更好.

设计一种算法来解决问题.

我很确定这是一个DP问题.我能看到的一个诱人的复发关系是,如果我们切一根棍子,我们会得到两根小棍子.如果我们知道这两种棒的最佳解决方案,我们可以很容易地找出更大棒的最佳解决方案.但这样效率很低.

如果你有一个递归函数min_cost(stick_length, c_1, c_2, ..., c_n),它返回切割长度stick_length为的最小成本c_1, c_2, ..., c_n,则递归关系看起来像这样

min_cost(stick_length, c_1, …
Run Code Online (Sandbox Code Playgroud)

algorithm

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

如何使用Supabase实现匿名授权?

有没有办法使用Supabase实现匿名授权?

我有一个移动应用程序,我想实现以下功能:
每个用户在安装应用程序后都应该在服务器上拥有一个帐户。我将使用设备 ID 作为主要标识符。这将创建一个临时帐户。当用户签署服务条款时,它将转换为完整的帐户。因此,我需要能够使用 Supabase 创建临时帐户。我在文档中没有找到与此问题相关的任何内容。

我知道Firebase中有类似的功能

你能帮我吗?是否有可能使用 Supabase 来实现这一点?

authentication supabase

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

如何在 Symfony 5 上使用带有 easyAdmin 3 的 Vich 上传器

我一直在尝试使用 VichUploader 在 Symfony 项目上上传文件,已经在使用 EasyAdmin?3。

我已正确配置所有内容,但出现此错误:

“pieceJointeFile”图像字段必须定义使用 setUploadDir() 方法上传图像的目录。

<?php

namespace App\Entity;

use App\Repository\InventaireRepository;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;

My entity

/**
 * @ORM\Entity(repositoryClass=InventaireRepository::class)
 * @Vich\Uploadable
 */
class Inventaire
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity=Conducteur::class, inversedBy="inventaires")
     */
    private $conducteur;

    /**
     * @ORM\Column(type="date")
     */
    private $dateInventaire;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $pieceJointe;

    /**
     * @Vich\UploadableField(mapping="pieceJointe", fileNameProperty="pieceJointe")
     */
    private $pieceJointeFile;

    /**
     * @ORM\Column(type="datetime")
     */
    private …
Run Code Online (Sandbox Code Playgroud)

php symfony vichuploaderbundle easyadmin symfony5

11
推荐指数
2
解决办法
5191
查看次数

NextJS 如果 router.back() 没有历史记录可路由,则路由到 home

我正在使用 NextJS (v.13.4.15) 应用程序目录

我正在使用反应本机 webview 在移动应用程序内显示网站,因此后退按钮对于导航至关重要(我无法访问浏览器的后退按钮)

我想要类似的东西

'use client' 作为客户端组件:

    <button
      onClick={() => window.history.state && window.history.state.idx > 0 ? router.back() : router.push('/')}
    >
Run Code Online (Sandbox Code Playgroud)

但是我无法让它工作,NextJS 似乎在访问 window.history 时遇到问题(或者可能不是 NextJS,这只是一个隐私问题)

即使我可以访问该窗口,该窗口对象也包含令人困惑且不一致的子属性和值,如下所示:

{
    "__NA": true,
    "tree": [
        "",
        {
            "children": [
                "courses",
                {
                    "children": [
                        [
                            "slug",
                            "hacking-success",
                            "c"
                        ],
                        {
                            "children": [
                                "__PAGE__",
                                {}
                            ]
                        }
                    ]
                }
            ]
        },
        null,
        null,
        true
    ]
}
Run Code Online (Sandbox Code Playgroud)

必须有一种方法来检查 (router.back()) 是否为空或无法返回,然后检查 router.push('/) 对吗?

理想情况下:

router.back() ?? router.push('/')
Run Code Online (Sandbox Code Playgroud)

或者有人可以帮助解释这个history.state.idx.tree?长度似乎与导航中历史记录项目的数量不匹配,而是与 URL 的父级/层次结构匹配

我希望 NextJS 在路由器上有一个方法,可以返回历史记录,或者在历史记录为空时提供 null/false …

browser-history reactjs next.js next-router

10
推荐指数
0
解决办法
2982
查看次数

Knex:超时获取连接。游泳池可能已满。您是否缺少.transacting(trx)通话?

我正在使用以下代码进行knex连接,但经常发生错误

Knex:超时获取连接。游泳池可能已满。您是否缺少.transacting(trx)通话?

谁能为这个问题提出解决方案?

var knexConn = reqKnex({
        client: pClient,
        native: false,
        connection: pConn,
        searchPath: pSearchPath,
        pool: {
            max: 7,
            min: 3,
            acquireTimeout: 60 * 1000
        }
    });


function getTransactionScope(pKnex, callback) {
    try {
        pKnex.transaction(function(trx) {
            return callback(trx);
        });
    } catch (error) {
        console.log(error);
    }
}

function ExecuteSQLQuery(pTranDB, pTrx, pQuery, pCallback) {
    try {
        var query = pTranDB.raw(pQuery);

        if (pTrx) {
            query = query.transacting(pTrx);
        }
        query.then(function(res, error) {
            try {
                if (error) {
                    console.log(error);
                } else {
                    return pCallback(res, error);
                } …
Run Code Online (Sandbox Code Playgroud)

node.js knex.js

9
推荐指数
8
解决办法
5250
查看次数

如何提高Leetcode 4sum-ii挑战的性能

这是一个leet代码竞赛问题,我试图在比赛结束后尝试但我的代码总是超出时间限制.问题是

给定四个列表A,B,C,D的整数值,计算有多少元组(i,j,k,l),使得A [i] + B [j] + C [k] + D [1]是零.

为了使问题更容易,所有A,B,C,D都具有相同的N长度,其中0≤N≤500.
所有整数都在-2 28到2 28  - 1 的范围内,结果保证在大多数2 31  - 1.

例:

Input:
A = [ 1, 2]
B = [-2,-1]
C = [-1, 2]
D = [ 0, 2]

Output:
2

Explanation:
The two tuples are:
 1. (0, 0, 0, 1) -> A[0] + B[0] + C[0] + D[1] = 1 + (-2) + (-1) + 2 = 0
 2. (1, 1, 0, 0) -> …
Run Code Online (Sandbox Code Playgroud)

c# algorithm search

9
推荐指数
2
解决办法
492
查看次数

如何为 Wayland 运行 Slack 等 Electron 应用程序?

貌似Electron还不支持Wayland。

关于 Electron 问题:考虑为 Wayland 提供构建

有人知道如何编译 Electron 以支持 Wayland 原生吗?(一步一步)
并在 Wayland(Weston 等)中运行 Electron 应用程序。

编译电子花了几个小时,我失败了很多次。

wayland electron

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

Tensorflow 2.14.0(带有 CUDA)未注册 CUDA?

我正在尝试将 Tensorflow 与我的 GPU 结合使用。我的系统是 Fedora Linux 38,NVIDIA 驱动程序 535.113.01(当前最新)在我的系统上按预期工作。

我使用 Python 3.9 创建了一个 Python 环境(据我所知版本 3.11 无法使用 pip 安装 TF 2.14.0)。

在激活的环境中我安装 TF 如下:

python3.9 -m pip install tensorflow[and-cuda]
Run Code Online (Sandbox Code Playgroud)

我可以看到 pip 安装了 Tensorflow 和许多必需的库(cublas、cuda、cull 等)。

一切看起来都不错,但是当我导入张量流时,我收到此错误:

>>> import tensorflow as tf
2023-10-22 01:58:31.798579: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:9342] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2023-10-22 01:58:31.798611: E tensorflow/compiler/xla/stream_executor/cuda/cuda_fft.cc:609] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT …

nvidia tensorflow tensorflow2.0

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

在 Vue Compostion API 中使用 querySelector()

我是 Vue Composition API 的新手,需要使用document.querySelector. 但是,它并没有按预期工作。如果我写

<nav class="home-menu pure-menu pure-menu-horizontal pure-menu-fixed">

<script setup>
import { ref } from "vue";
const observer = new IntersectionObserver(handleIntersection);
const target = document.querySelector(".home-menu");
observer.observe(target);
console.log(target);
Run Code Online (Sandbox Code Playgroud)

targetnull。阅读文档,我看到了该ref属性,如果我

<nav ref="navbar" class="home-menu pure-menu pure-menu-horizontal pure-menu-fixed">
<script setup>
import { ref } from "vue";

const target = ref("navbar");
console.log(target);
Run Code Online (Sandbox Code Playgroud)

记录一个对象。

ref在 Composition API 中获取 DOM 元素的方式吗?
我现在可以target在我的观察者对象中使用吗?
它相当于吗querySelector

我试过

import { ref } from "vue";
const …
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs3 vue-composition-api

8
推荐指数
2
解决办法
2万
查看次数

最长重复子数组(有重叠)

给定一个任意数字的数组,我希望快速[时间和空间复杂度至少低于 O(n\xc2\xb2),n = 数组长度]找到最长的子数组(数组中元素的连续段)重复(出现多次,或至少两次)。
\n除了所有值都是有效的 JavaScript 数字并且isFinite对于数组中的每个数字都成立之外,请不要假设数组中数字的任何界限。

\n

允许重叠,即允许子数组在其内部部分出现。例如,在数组中[1, 2, 1, 2, 1, 2]最长的重复子数组是[1, 2, 1, 2]。看这里

\n
[1, 2, 1, 2, 1, 2]\n^         ^        occurrence #1\n       ^        ^  occurrence #2\n
Run Code Online (Sandbox Code Playgroud)\n

两次出现重叠,但只要两次出现的起始索引或结束索引不同就可以。

\n

如果存在多个不同的重复子数组且它们都具有最长的长度,则答案可以是其中任何一个。然而,我怀疑任何能够找到一个答案的方法都可以同样轻松地找到所有答案。
\n此场景的一个示例是数组[1, 1, 2, 2]。子数组[1][2]都出现两次。其中任何一个都可以作为结果返回。

\n

最后,如果没有子数组出现多次,则答案是[](空数组)。

\n

我最近遇到了“在数组中查找重复序列”的问题,但所有答案都慢得离谱。每个人都在使用 o(n\xc2\xb3) 个解决方案,而 o(n\xc2\xb2) 中只有一个答案。

\n

我正在寻找一种可以在几秒钟内处理长度高达几十万(100,000)的数组的方法。时间复杂度至少为次二次方。如果您也能提供解决方案的 JS 示例实现,那就太好了,因为我对某些数据结构的理解不是那么扎实

\n

抱歉问了这么长的问题,如果有任何不清楚的地方请告诉我。如果您有一个想法但不是完整的解决方案,请将其放在评论中,它仍然对我有帮助。

\n

如果有帮助的话我还举了一些例子:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
大批结果
[1, 2, 5, 7, 1, …

javascript arrays algorithm time-complexity

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