LeetCode移除元素(Python)——双指针

题目解题思路与第26题删除排序数组中的重复项基本一样,可以直接一个一个元素遍历,然后直接删除元素,但是时间复杂度像我上篇博客(添加链接描述)说的一样,删除列表元素这一步时间复杂度不太OK,所以还是要用交换元素代替删除元素的操作。于是考虑用双指针去做,左指针初始指向数组头,右指针初始指向数组尾巴,左指针碰到val时直接与右指针交换即可。代码如下:要说明的一点是由于每次循环只移动某一个指针一步,所以循环结束时左右指针是重合的,还需要再判断一下这个元素是否等于val才行。执行结果为:...
分类: 其他 发布时间: 08-11 23:08 阅读次数: 0

LeetCode实现strStr()(Python)——KMP算法

题目解题思路经典的字符串匹配问题,那当然要用经典的KMP算法了,KMP算法实现起来还是有点复杂的,所以先暴力匹配开个胃:时间复杂度看似是O(n),但实际上字符串比较的时候,底层应该也是一个字符一个字符比较的,所以时间复杂度应该为O(m*n),一个有意思的地方在于needle= “时,haystack切片[i :i+0]也是” ,所以不需要额外的判断。执行结果为:接下来实现KMP,首先就得先根据模板串needle去生成对应的next数组(又称部分匹配表),先上代码再讲解:这里的部分匹配
分类: 其他 发布时间: 08-11 23:08 阅读次数: 0

AlexNet综述

本专栏将从论文的角度解读一下CV方向的一些经典神经网络模型及其贡献与意义,以期加深自己的印象,后续可以随时翻看并且学习其中好的tricks。本期首先介绍一下CNN具有历史突破性的网络——AlexNet.论文相关信息论文全称为《ImageNet Classification with Deep Convolutional Neural Network》,于2012年发表在NIPS上(全称神经信息处理系统大会,Conference and Workshop on Neural Information Pro
分类: 其他 发布时间: 08-11 23:08 阅读次数: 0

低/零代码的认知误区有哪些?

随着时代和技术的快速发展,企业信息化步伐越来越快,而且更讲究轻型作战,更看重效率,但传统定制开源方式因为周期长、费用高一直为人诟病。低/零代码开发平台就是在这样的背景下应运而生。低/零代码开发平台,让开发者可以基于平台快速搭建企业信息化系统,这种新型的开发方式,数以倍计的提高着开发者的开发效率,而且有效地减少成本,近年来越来越受到市场的关注。像国外的OutSystems、Mendix、Salesf
分类: 编程语言 发布时间: 08-11 23:08 阅读次数: 0

LeetCode搜索插入位置(Python)——二分查找

题目解题思路除开暴力解法一个一个比,自然会想到二分查找,但众所周知写对一个二分查找并不是一件简单的事,首先第一点要注意边界判断,第二点要注意在每一次循环中,[left, right]区间都要有所改变,不然会陷入死循环,我的代码如下:第一个if-elif-else即为边界判断,不多说了;想说明的一点是,while的条件可能不太容易明白,我的循环终止条件为 right - left = 1,因为如果target在数组中,那么肯定会找到一个区间[ left, right ]使得 nums[( left+
分类: 其他 发布时间: 08-11 23:07 阅读次数: 0

LeetCode外观数列(Python)——递归

题目解题思路这道题的题意可能有点难理解,其实就是输出一个数列,每一项都是对前一项的描述,就是说前一项有几个几,所以脑子里第一时间想到的有两种解法,迭代和递归。先把递归的代码放上来:执行结果为:第二种迭代的思路也很简单,就是从第一项开始生成,一直生成到第n项,代码如下:执行结果为:...
分类: 其他 发布时间: 08-11 23:07 阅读次数: 0

LeetCode最大子序和(Python)——动态规划

题目解题思路时间复杂度为O(N2)的暴力解法就不说了,那首当其冲肯定是动态规划了,先上代码:首先,怎么判断一道题能不能用动态规划做?第一,看大问题能不能拆成几个小问题,并且大问题的最优解可以由小问题的最优解推出。在这道题里,比如现在要求前三项[ -2 , 1 , -3 ]的最大子序和(即大问题),我们已知前两项[ -2 , 1 ]的最大子序和为1(即小问题),只需要看 -3加上这个1大还是不加上大,就知道了。因此这道题满足这个条件,这个条件又叫最优子结构。第二,如果给定某一阶段的状态,则在这一_最大非负子序和python
分类: 其他 发布时间: 08-11 23:07 阅读次数: 0

LeetCode最后一个单词的长度(Python)

题目解题思路感觉没什么好说的,从末尾往前找第一个不为空格的字符,然后到再找到空格为止,代码如下:执行结果为:
分类: 其他 发布时间: 08-11 23:07 阅读次数: 0

LeetCode加一(Python)

题目解题思路感觉也没什么技巧,无非就是9+1会产生进位这一点,先上代码:跳出while循环时,要不就是数组里全是9,i 变成 -1 了,这时候要在首位加一个1;要不就是碰到非9的数字了,那直接加1即可。执行结果为:...
分类: 其他 发布时间: 08-11 23:06 阅读次数: 0

如何在rancher上运行jupyter notebook

写在前面rancher是最近比较热门的也比较新的东西,是一个开源的企业级的全栈化容器部署与管理平台,其实就是图形化界面式的管理docker和k8s的web服务,操作很傻瓜式,但想完全上手还是需要掌握docker与k8s的一些相关概念的,而且rancher相关的博客比较少,还是有一定难度。最近在老师手把手的指导下(非常感谢任老师~)从无到有地搭了一次分布式集群,并且想尝试在分布式集群上面跑一些深度学习任务,因此需要在rancher上运行jupyter notebook,于是写这篇博客记录一下是如何操作的,给
分类: 其他 发布时间: 08-11 23:06 阅读次数: 0

Webshell河马后门查杀工具配合shell脚本实现多站点自动化查杀

河马官网https://www.shellpub.com/河马工具查杀的步骤特别简单下载,解压,开始扫描,参考官网教程https://www.shellpub.com/doc/hm_linux_usage.html扫描出来的结果都会保存在hm文件的同级目录result.csv中,扫描出来的结果是这样的第一行是固定的,序号,类型,路径,如果有可疑或者木马文件,会生成一个result.csv如果没有则不会生成,再次执行,会覆盖上次的result.csv结果需要注意的是,这个工具需要联.._河马后门
分类: 其他 发布时间: 08-11 23:06 阅读次数: 0

centos7 新机器网络问题 connect: Network is unreachable 以及route路由表 看不到 default那一条记录。(已解决)

公司新买了个机器,昨天配置完网络有问题,很晚了,也就没继续弄,今早排查找问题,找到了原因,过程如下。内网机器都是做的路由转发,通过添加路由上网,昨天添加路由之后没生效route只能看到一个路由表,添加的却看不到了,原因是配置网卡ip的时候没有配置网关,当时配置文件是从其他机器复制的,那边没配置网关,这边也就不配置了,都是centos7,下图我把问题情况复现了,经过确认:1. ping 8.8.8.8提示connect: Network is unreachable。 解决方法:添加...
分类: 其他 发布时间: 08-11 23:06 阅读次数: 0

解决 linux umount : target is busy

昨天给机器做备份,硬盘插到服务器上,挂载在/backup目录,然后cp,完事之后卸载挂载,umount然后报错了,/backup目录正忙,查看了一下cp命令执行完了,目录大小也是对的,那就不是cp占用的,然后参考网上的fuser命令排查一下,给出了个进程号,然后ps看看是哪个进程,竟然是当前shell,我好像命令,是我在/backup目录下,所以无法卸载,可能就像拆房子,总不能人还在里面就强拆不管那个人的死活吧。然后我切出去,再尝试卸载,成功了,网上看了有个博主写的,杀掉当前shell,
分类: 其他 发布时间: 08-11 23:05 阅读次数: 0

Nginx 配置太复杂?这个开源项目让你在Web中就搞定

项目名称:nginxWebUI项目作者:陈钇蒙开源许可协议:MulanPSL-2.0项目地址:https://gitee.com/cym1102/nginxWebUI功能说明本项目可以使用WebUI配置nginx的各项功能,包括http协议转发,tcp协议转发,反向代理, 负载均衡,ssl证书自动申请、续签、配置等,最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置。本项目可管理多个nginx服务器集群,随时一键切换到对应..._nginx配置为什么这么复杂
分类: 其他 发布时间: 08-11 23:05 阅读次数: 0

Dave:Node一键生成CRUD代码,又一款极其好用的代码生成器

项目名称:Dave项目作者:Dave开源许可协议:Apache-2.0项目地址:https://gitee.com/zzf0529/Dave项目简介Dave 是一种专为 API 而生的 JSON 网络传输协议以及基于这套协议实现的 ORM 库。为简单的增删改查、复杂的查询、简单的事务操作提供了完全自动化的API。能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。适合中小型前后端分离的项目,尤其是互联网创业项目和企业自用项目。通过自动化 API,前端可..._yapi node自动生成代码
分类: 其他 发布时间: 08-11 23:05 阅读次数: 0

PowerJob:一款强大且开源的分布式调度与计算框架

项目名称:PowerJob项目作者:假诗人开源许可协议:Apache-2.0项目地址:https://gitee.com/KFCFans/OhMyScheduler项目简介PowerJob(原OhMyScheduler)是全新一代分布式调度与计算框架,其主要功能特性如下:使用简单:提供前端Web界面,允许开发者可视化地完成调度任务的管理(增、删、改、查)、任务运行状态监控和运行日志查看等功能。 定时策略完善:支持CRON表达式、固定频率、固定延迟和API四种定时调..._powerjob
分类: 其他 发布时间: 08-11 23:04 阅读次数: 0

Vue和DataV强强联合,这个大数据可视化模板你一定要拥有

项目名称:vue-big-screen项目作者:奔跑的面条开源许可协议:Apache-2.0项目地址:https://gitee.com/MTrun/big-screen-vue-datav项目简介一个基于 vue、datav、Echart 框架的 数据大屏项目,通过 vue 组件实现数据动态刷新渲染,内部图表可实现自由替换。部分图表使用 DataV 自带组件,可进行更改。 项目需要全屏展示(按 F11)。 项目部分区域使用了全局注册方式,增加了打包体积,在实际运..._vuedatav
分类: 其他 发布时间: 08-11 23:04 阅读次数: 0

HandyControl:重写原生样式,包含 70余款自定义控件的WPF控件库

Gitee 此前为大家介绍过一款优质的 WPF 控件库,受到了很多 C# 开发者的欢迎,由此可见Windows 开发者的基数仍然很高。今天为大家推荐的就是另一款在 Gitee 上很受欢迎的 WPF 控件库。项目名称:HandyControl项目作者:HandyOrg开源许可协议:MIT项目地址:https://gitee.com/handyorg/HandyControl项目简介HandyControl 是一套 WPF 控件库,它几乎重写了所有原生样式,同时包含 70 余款自定._handycontrol 布局
分类: 其他 发布时间: 08-11 23:04 阅读次数: 0

正在用SpringBoot的你,这个RBAC权限管理系统一定让你有所收获

项目名称:cjlgb-cloud-platform项目作者:王阿九开源许可协议:Apache-2.0项目地址:https://gitee.com/cjlgb/cjlgb-cloud-platform项目简介基于 Spring Cloud Hoxton 、Spring Boot 2.2、 OAuth2 的RBAC权限管理系统 基于数据驱动视图的理念封装 Ant Design Vue,即使没有 vue 的使用经验也能快速上手 提供 lambda 、stream api 、webfl._spring boot 2.0 rbac
分类: 其他 发布时间: 08-11 23:03 阅读次数: 0

有了这个开源项目,让你分分钟搞定第三方授权登录

第三方登录授权对于很多开发者来说是很烦人的一件事,每个平台都要获得各自的权限,实践起来非常麻烦。今天 Gitee 给大家推荐的这款开源项目就是针对这个痛点所开发,一次性集成了十多家国内外常用的第三方平台,只需调用简单的 API 即可搞定,往下看看吧。项目名称:JustAuth项目作者:yadong.zhang开源许可协议:MIT项目地址:https://gitee.com/yadong.zhang/JustAuth项目简介JustAuth,如你所见,它仅仅是一个第三..._微软授权第三方登录
分类: 其他 发布时间: 08-11 23:03 阅读次数: 0