移除盒子 - 区间DP算法练习

题目

Leetcode 546. 移除盒子

给出一些不同颜色的盒子 boxes ,盒子的颜色由不同的正数表示。

你将经过若干轮操作去去掉盒子,直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 k 个盒子(k >= 1),这样一轮之后你将得到 k * k 个积分。

返回 你能获得的最大积分和 。

示例 1:

1
2
3
4
5
6
7
8
9
输入:boxes = [1,3,2,2,2,3,4,3,1]
输出:23
解释:
[1, 3, 2, 2, 2, 3, 4, 3, 1]
----> [1, 3, 3, 4, 3, 1] (3*3=9 分)
----> [1, 3, 3, 3, 1] (1*1=1 分)
----> [1, 1] (3*3=9 分)
----> [] (2*2=4 分)

示例 2:

1
2
3
输入:boxes = [1,1,1]
输出:9

示例 3:

1
2
输入:boxes = [1]
输出:1
More...

Build a Finance SaaS Platform -5 (Database Neon)

Sign up Neon

Go to https://neon.tech/ ,Sign up,and get sql connetion string and add it to .env:

1
DATABASE_URL=postgresql://xxxx

Install drizzle-orm

1
2
npm i drizzle-orm @neondatabase/serverless
npm i -D drizzle-kit

Add Drizzle config

Add db/drizzle.ts

1
2
3
4
5
6
import { neon } from '@neondatabase/serverless';
import { drizzle } from 'drizzle-orm/neon-http';

export const sql = neon(process.env.DATABASE_URL!);
export const db = drizzle(sql);

More...

Build a Finance SaaS Platform -3 (Header)

Add Header

Add components/header.tsx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import React from 'react'
import HeaderLogo from './header-logo'
import Navigation from './navigation'

export default function Header() {
return (
<div className='bg-gradient-to-b from-blue-700 to-blue-500 px-4 py-8 lg:px-14 pb-36'>
<div className='max-w-screen-2xl mx-auto'>
<div className='w-full flex items-center justify-between mb-14'>
<div className='flex items-center lg:gap-x-16'>
<HeaderLogo />
<Navigation />
</div>
</div>
</div>
</div>
)
}

More...

自建 Nextcloud 高性能安全私有云盘

Nextcloud 搭建步骤(Windows环境)

假设是安装在Windows环境并已经安装好了Docker。

拉取NextCloud镜像

1
docker pull nextcloud

创建数据卷

1
docker volume create --driver local --opt device=F:\Nextcloud\data --opt type=none --opt o=bind nextcloud 

其中F:\Nextcloud\data 为你要保持数据的目录

启动NextCloud容器

1
docker run -d --restart=always --name nextcloud -p 9000:80 -v nextcloud:/var/www/html nextcloud
More...

Git 使用 --depth

背景

在我们拉取 Git repo 时,如果不需要大量的日志记录,只想获取某个分支或者某次提交下的文件状态,可以借助 depth=1 参数实现。

使用

在使用 git clone 时直接携带 depth:

1
2
3
4
5
*# 实现默认分支的拉取*
git clone --depth **1** xxx.git

*# 某个分支/标签*
git clone --depth **1** -b "branch_name/tag_name" xxx.git

其中 depth 指定的是 commit 的深度,指定 1 则表示只拉取一次 commit,就是某次提交的完整状态。如果指定 2,就表示只想更深一层的 commit

More...

请我喝杯咖啡吧~

支付宝
微信