- 博客(109)
- 收藏
- 关注
原创 一看就懂,一写就懵?搞懂回溯算法,一口气刷了20多道题
一、回溯算法1.1什么是回溯?回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。——摘自《百度百科》1.1 一般步骤:针对所给问题,定义问题的解空间,它至少包含问题的一个(最优)解。确定易于搜索的解空间结构,使得能用回溯法方便地搜索整个解空间 。以深度优先的方式搜索解空间,并且在搜索过程中用剪枝函数避免无效搜索。1.2 如何理解回溯算法?为问题建立解空间结构在解空间结构上进行DFS搜索设立回溯出口
2021-12-26 16:38:14 648
原创 Leetcode 通过率最高的困难题 N皇后 II 【回溯解法-剪枝】
使用回溯的具体做法是:依次在每一行放置一个皇后,每次新放置的皇后都不能和已经放置的皇后之间有攻击,即新放置的皇后不能和任何一个已经放置的皇后在同一列以及同一条斜线上。当 NNN 个皇后都放置完毕,则找到一个可能的解,将可能的解的数量加 111。
2021-12-12 12:19:04 1852 2
原创 prompt弹窗,适用备注、审核等等
主要是一个计时的时钟,可以在专注计时的时候,专注地完成某项任务,快捷方便,使用番茄工作法,选择一个待完成的任务,将番茄时间设为25分钟,也可以选择其他的区间,专注工作,中途不允许做任何与该任务无关的事。🎉结语 感兴趣的可以试试,有不清楚的问题,关于tauri开发方面的问题,也可以一起交流。我的想法是通过OKR管理系列的任务,这样每完成一个小任务,就可以关闭一个小任务,直观又方便,等到所有关键的小任务都完成了,整个任务也就完成了。主要是用于左右布局宽度的变化,可以使用鼠标进行拖曳,改变左右盒子的高度。
2024-07-29 09:03:05 400
原创 我用Tauri开发的待办效率工具开源了!
主要是一个计时的时钟,可以在专注计时的时候,专注地完成某项任务,快捷方便,使用番茄工作法,选择一个待完成的任务,将番茄时间设为25分钟,也可以选择其他的区间,专注工作,中途不允许做任何与该任务无关的事。🎉结语 感兴趣的可以试试,有不清楚的问题,关于tauri开发方面的问题,也可以一起交流。我的想法是通过OKR管理系列的任务,这样每完成一个小任务,就可以关闭一个小任务,直观又方便,等到所有关键的小任务都完成了,整个任务也就完成了。主要是用于左右布局宽度的变化,可以使用鼠标进行拖曳,改变左右盒子的高度。
2024-07-24 23:14:49 960
原创 Vite插件开发秘籍:解锁前端开发新姿势,轻松应对挑战!
Vite 插件扩展了设计出色的 Rollup 接口,带有一些 Vite 独有的配置项。因此,你只需要编写一个 Vite 插件,就可以同时为开发环境和生产环境工作。当创作插件时,你可以在中直接使用它。如果插件不使用 Vite 特有的钩子,可以作为来实现,推荐使用。
2024-07-17 22:05:18 796
原创 Koa2实现多并发文件上传
目前的是为了实现批量导入md文件,发布文章。这样就不用自己一篇一篇同步文章了。一次可以同步几千篇文章。主要包含上传的文件标题,文件大小,上传状态。
2024-07-07 19:43:12 275
原创 使用Tauri+vite+koa2+mysql开发了一款待办效率应用
这是一个基于tauri+vite的应用,它采用了一些最新的前端技术,包括 Tauri、Vue3、Vite5、koa2 和 mysql。它提供了丰富的效率管理工具。喜欢的可以试试哦,🙏🙏🙏。
2024-06-24 23:30:52 962
原创 reduce函数20个高级用法 看看你掌握了多少?
1. reduce 方法对数组中的每个元素按序执行一个提供的 reducer 函数2. 每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。
2024-03-27 00:01:20 808
原创 tauri应用实现一键快速更新版本
tauri应用实现一键快速更新版本.更新配置 打包配置在src-tauri/tauri.conf.json 修改打包命令
2024-03-23 12:53:26 835
原创 Tauri打包配置及报错处理
打包成功后,打开打包生成的目录,就可以看到一个.msi后缀结尾的安装文件tauri-app_0.0.0_x64_en-US.msi(scr-tauri/target/release/bundle/msi/tauri-app_0.0.0_x64_en-US.msi),双击就可以安装了。还有一个可执行包tauri-app.exe(scr-tauri/target/release/tauri-app.exe)。** 生成好的图标默认放在 src-tauri/icons 目录下,在构建时包含在应用程序中。
2024-03-05 13:00:49 1314 1
原创 【Bun1.0】使用 Bun.js 构建快速、可靠和安全的 JavaScript 应用程序
Bun 是一个现代的JavaScript运行环境,如Node, Deno。主要特性如下:启动速度快。更高的性能。完整的工具(打包器、转码器、包管理)。
2023-09-12 23:34:21 868
原创 Proxy代理数据拦截方法
Proxy 本质上是对某个对象的劫持,这样它不仅仅可以监听对象某个属性值的变化,还可以监听对象属性的新增和删除。Proxy.revocable()方法可以用来创建一个可撤销的代理对象。该方法的返回值是一个对象,其结构为: {“proxy”: proxy, “revoke”: revoke}对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。方法用于拦截对象的读取属性操作。方法是设置属性值操作的捕获器。方法用于拦截对对象属性的。
2022-11-30 23:21:15 1028 1
原创 【Leetcode 346/700】79. 单词搜索 【中等】 回溯深度搜索JavaScript版
【Leetcode 346/700】79. 单词搜索 【中等】 回溯深度搜索JavaScript版1.题目n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例 1:输入:board = [["A","B","C","E"],["S","F","C","S"],["A","
2022-05-13 23:27:44 265
原创 【leetcode】剑指 Offer II 105. 岛屿的最大面积-【深度优先DFS】
给定一个由 0 和 1 组成的非空二维数组 grid ,用来表示海洋岛屿地图。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。示例 1:输入: grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,
2022-04-10 00:18:16 343
原创 【nodejs进阶之旅(2)】:使用koa2+mysql 实现列表数据分页
1.展示效果(分页)2.分页主要字段分页主要字段包括 pageSize 每页条数、pageNum 第几页、startRow 当前开始页编号、endRow 当前结束页编号、total 总数量。主要是根据前端分页的参数,进行处理后,返回前端正确的数据,其实是一个很常见且简单的功能。但是是非常也是非常重要的。pageSize 每页条数pageNum 第几页startRow 当前开始页编号endRow 当前结束页编号total 总数量计算 3.startRow 和 endRow封装成一个函
2022-03-26 16:50:22 1735
原创 速算24 -JavaScript-穷举
给定任意4个自然数,请给出通过4则运算,使结果为24的算法,并且每个数在算式中使用一次。如果无法通过上述规则得到24,则输出“无法计算得到24”。如果给出4个数为2、3、4、5,程序的输出结果应是一个表达式:(5+3-2)*4如果给出的4个数是1、1、1、1,程序的输出结果应该是:无法计算得到24要求:提交算法思路即可。思路:先分析一下穷举包含多少种情况:1、操作数。由于是给定的4个数,所以把这个4个数进行全排列,共有:24种2、运算符。4个数之间有3个运算符,每个运算符有4种选择,共有:64
2022-03-10 09:05:41 1116
原创 一起学习Vuex 4.0的状态管理(Vite)
Vite 将会使用 esbuild 预构建依赖。Esbuild 使用 Go 编写,并且比以 JavaScript 编写的打包器预构建依赖快 10-100 倍。
2022-02-11 23:01:10 982
原创 数据结构:一文看懂二叉搜索树 (JavaScript)
二叉搜索树介绍二叉搜索树是一种节点值之间具有一定数量级次序的二叉树,对于树中每个节点:若其左子树存在,则其左子树中每个节点的值都不大于该节点值;若其右子树存在,则其右子树中每个节点的值都不小于该节点值。满足条件若左子树不为空,则左子树上左右节点的值都小于根节点的值;若它的右子树不为空,则它的右子树上所有的节点的值都大于根节点的值;它的左右子树也要分别是二叉搜索树;查询节点过程是,比较元素值是否相等,相等则返回,不相等则判断大小情况,迭代查询左、右子树,直到找到相等的元素,或子节点.
2021-11-20 22:59:05 459
原创 LeetCode 算法题系列(第一周 25道)
【算法进度 213/400 (〃‘▽’〃)】,继续加油!136. 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4哈希表/** * @param {number[]} nums * @return {number} */var single.
2021-10-02 23:05:00 426
转载 Docker安装Xfce桌面环境(轻量可视化操作系统)
0.Xfce是什么?Xfce是一个适用于类UNIX操作系统的轻量级桌面环境。它的目标是快速而低廉的系统资源,同时仍然具有视觉吸引力和用户友好性。具体参考官网[https://www.xfce.org/项目地址:https://github.com/yangxuan8282/docker-image/tree/master/alpine-xfce4-novnc1.Docker版有什么优势或用途?Docker化的通用特点:可迁移、可任意部署到具有docker引擎的设备,比如你的服务器或本地电脑轻量级
2021-08-24 20:44:17 2083
原创 R-003 ggplot2使用qplot()函数
ggplot学习文档安装 ggplotinstall.packages('ggplot2')library(ggplot2)快速作图set.seed(1410) #让样本可重复dsmall = diamonds[sample(nrow(diamonds),100),] #使用一个小型数据集体积和重量的关系-线性关系# log(carat)对log(price)的图形qplot(log(carat),log(price),data=diamonds)# 如果我们对钻石的体积和重
2021-07-18 23:51:51 315 1
原创 R-002 绘制基本图形条形图多种图形
绘制基础条形图barplot(height, width = 1, space = NULL, names.arg = NULL, legend.text = NULL, beside = FALSE, horiz = FALSE, density = NULL, angle = 45, col = NULL, border = par("fg"), main = NULL, sub = NULL, xlab = NULL, ylab = NULL, xlim =
2021-07-18 00:12:11 250
原创 R-001 绘制基本图形 plot点线图,条形图,散点图
通过plot绘制点线图生成随机数据Runif()1.生成180-240之间的30个数据runif(30,180,240) # 生成180-240之间的30个数据2.不要小数点round(runif(30,180,240)) # 不要小数点3.从1:10个数字之间取6个随机样本sample(1:10,6,replace=T)4.去重sample(1:10,6,replace=False)生成数据data <-runif(10,40,90)plot(data,type="p
2021-07-18 00:11:10 3541 1
原创 【红隼书签】自定义光影、自定义背景、亮度和主题功能
kestrel-bookmark 红隼书签介绍????????????【红隼书签】一款简洁的在线书签导航网站。同步印象中文的web导航数据;可以修改数据;全局搜索筛选功能;单页面完成逻辑非常简单,新手小白也能完成二次修改开发;采用granim插件完成背景动画;可选择更多动画效果;炫酷光晕背景动画效果。网址书签========注意:????本项目会持续新增功能,但持续维护。如使用中发现问题,请留言或者提交 issue 。谢谢!!!安装步骤1.克隆项目 https://gitee.com/zh
2021-07-10 16:28:14 607 2
原创 【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果
前言一直对渐变背景这块比较感兴趣,但是因为每天加班实在太忙了,任务也比较多。所以就只能下班的时间研究渐变背景这方面的知识,一来满足了自己的好奇心,二来可以更加了解这方面的知识。跟更多不断学习的小伙伴们一起进步,一起汲取新的知识。不断成长,不断精进自己的知识。有想一起讨论技术,一起成长的伙伴们,也可以加微信一起交流。各微信群里面,有很多前端领域的大佬,在他们身上学到了很多,今后也努力向他们看齐。不断提升自己。加油。CSS radial-gradient() 函数定义与用法radial-gradient
2021-06-01 20:56:26 3097
原创 Element限制只能选择当前年已经过去的月份(包含当月)
pickerOptions: { disabledDate(time) { return time.getTime() < (new Date((new Date().getFullYear()).toString())).getTime() || time.getTime() > Date.now() } }
2021-05-25 12:25:25 658 4
原创 [LeetCode264. 丑数 II] 三指针 | 刷题打卡[2]
一、题目描述:给你一个整数 n ,请你找出并返回第 n 个 丑数 。丑数 就是只包含质因数 2、3 和/或 5 的正整数二、思路分析:三指针1.2,3,5分别对应指针i2,i3,i5,遍历找到当前指针2.移动i对于的当前指针,并记录结果3.找到数组最后一位即是第n个丑数三、AC 代码:javascript/** * @param {number} n * @return {number} */var nthUglyNumber = function (n) { let .
2021-04-11 15:17:37 110
原创 [LeetCode连续子数组的最大和] | 刷题打卡[1]
一、题目描述:输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。二、思路分析:动态规划1.从数组第一个元素开始,分别累加数组的元素2.当求和到当前元素为负数和时,重新计算下一轮数组和,并记录当前的最大和***3.比较每轮数组和,返回最大值;***三、AC 代码:javascript/** * @param {number[]} nums * @return {number} */var maxSubArray = f.
2021-04-10 23:22:21 181
原创 Golang语言[6] 递增的三元子序列/笨阶乘/矩阵查找/直方图的水量 |Go主题月
递增的三元子序列给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。示例 1:输入:nums = [1,2,3,4,5]输出:true解释:任何 i < j < k 的三元组都满足题意示例 2:输入:nums = [5,4,3,2,1]输出:f.
2021-04-05 22:24:27 181
原创 【算法】[困难]-直方图的水量-动态规划
17.21. 直方图的水量难度:[困难]给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6【思路】动态规划1.记录height中的每个元素,从左向右扫描并记录右边的最大高度;2.记录height
2021-04-02 20:24:13 233
原创 【算法】搜索二维矩阵 暴力解法&二分法 4种语言
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3输出:true示例 2:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13输出:false提示: m ==.
2021-03-30 22:58:14 240
原创 Javscript数组快速填充数据的8种方法
前言日常开发过程中经常会遇到模拟数据填充的问题。也就是造一些假数据,方便自己调试和开发。由此,整理了常用的数据填充的方法,在自己学习的过程中,也分享给更多开发者。一起学习,一起加油,一起精进。fill()fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。let arr = Array(10).fill('1')//[ "1", "1", "1", "1",.
2020-10-22 01:35:07 702
原创 让我们一起愉快地学习vue3.0吧
Object.defineProperty => Proxy重构了虚拟DOMOptionApi => Composition APIsetup是干啥的?setup实际上是一个组件的入口,它运行在组件被实例化时候,props 属性被定义之后,实际上等价于 2 版本的beforeCreate 和 Created 这两个生命周期。setup接受两个参数,第一个参数是props, 另一个参数是context,setup(props, ctx) { console.log(props, .
2020-10-06 13:45:57 652
原创 【贪心算法】空酒瓶换酒问题
小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。请你计算 最多 能喝到多少瓶酒。示例 1:输入:numBottles = 9, numExchange = 3输出:13解释:你可以用 3 个空酒瓶兑换 1 瓶酒。所以最多能喝到 9 + 3 + 1 = 13 瓶酒。示例 2:输入:numBottles = 15, numExchange = 4输出:19解释:你可以用 4 个空.
2020-09-22 19:12:32 1706 1
原创 【贪心算法】按要求补齐数组
给定一个已排序的正整数数组 nums,和一个正整数 n 。从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums 中某几个数字的和来表示。请输出满足上述要求的最少需要补充的数字个数。示例 1:输入: nums = [1,3], n = 6输出: 1 解释:根据 nums 里现有的组合 [1], [3], [1,3],可以得出 1, 3, 4。现在如果我们将 2 添加到 nums 中, 组合变为: [1], [2], [3], [1,3.
2020-09-22 19:10:30 205
原创 【贪心算法】找到买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价
2020-08-27 22:45:58 237
原创 数组中重复的数字 4种解法
找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 1000001.排序var findRepeatNumber = function (nums) { nums.sort((a,b)=>a-b) .
2020-08-22 13:28:33 711
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人