- 博客(46)
- 收藏
- 关注
原创 leetcode刷题——动态规划(2)
连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
2024-12-28 12:10:28
685
原创 leetcode刷题——动态规划(1)
力扣题目链接(opens new window)题目难度:中等有一堆石头,每块石头的重量都是正整数。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x!= y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就返回 0。
2024-12-24 11:37:16
571
原创 leetcode刷题——贪心算法
贪心的本质是选择每一阶段的局部最优,从而达到全局最优。力扣题目链接(opens new window)假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。376. 摆动序列力扣题目链接(op
2024-12-19 11:10:20
1056
原创 leetcode刷题——二叉树(2)
递归计算节点就根节点+左右子树的节点,每棵子树都计算各自的节点,如果符合满二叉树就根据公式返回,不是就重复递归计算下面的左右子树。给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。给定一个二叉树,返回所有从根节点到叶子节点的路径。给定一个二叉树,在树的最后一行找到最左边的值。
2024-12-11 11:52:33
807
原创 leetcode刷题——栈和队列
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。对于输入字符串 "a5b",函数应该将其转换为 "anumberb"输出:打印一个新的字符串,其中每个数字字符都被替换为了number。(2)数组的长度是length 字符串的长度是length()样例输出:anumberbnumbercnumber。
2024-07-27 22:55:47
1019
原创 leetcode刷题-字符串
例如 模式串aabaafnext[0]我们就看模式串第一个字符a 前缀有谁,后缀有谁,可以看到前缀后缀是空的,因为前后缀分别不能包含第一个和最后一个字符,所以next[0]=0next[1],对应就是模式串的aa字符串,前缀只有a 后缀只有a 很明显相同的长度就是只有1个,所以next[1]=1next[2]对应字符串aab 前缀有 a 和 aa 后缀有ab和b 所以前后缀没有相等的,next[2]=0。
2024-04-02 09:19:49
918
原创 leetcode刷题-哈希表
示例: 给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为: [ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2] ]给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]输出结果中的每个元素一定是唯一的。
2024-03-06 21:03:27
800
原创 leetcode算法刷题——链表
为了表示给定链表中的环,使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL。题意: 给定一个链表,返回链表开始入环的第一个节点。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。:不允许修改给定的链表。
2024-02-20 11:07:02
527
原创 leetcode算法刷题——数组
示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2: 给定 nums = [0,1,2,2,3,0,4,2], val = 2, 函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]你不需要考虑数组中超出新长度后面的元素。
2024-02-09 15:02:18
541
原创 windows CUDA更新(最简单方法)+虚拟环境torch和cuda安装
项目使用torch想要使用GPU运行,但是报错,记录一下解决过程。
2024-01-27 12:54:12
10476
10
原创 Django项目部署本地windows IIS(详细版)和static文件设置(页面样式正常显示)
已经有一个完整的django项目搭建好,在vscode或者pycharm可以正常运行通过python manage.py runserver能够正常访问django项目只是我们的一个应用项目,想要实现不用打开vscode 输入命令来启动项目,用户就可以通过ip地址加端口来访问,就需要服务器帮助我们部署好,常见的服务器有apache、nginx、IIS等,这里就只讲window系统下 IIS服务器部署网站的过程。这里可以通过cmd窗口下载并启动。
2023-11-27 14:35:49
2035
原创 Django快速实现多个搜索框的filter过滤json数据(无需定义过滤类)
我的前端传来data1数据,里面的数据我还要再经过一次处理,通过dict类型的key,value遍历,如果value为空,也就是某一个变量的输入框为空,那么dd就不加入这个过滤参数。如果我要满足我的需求,那么有些搜索框为空的就必须输入进去,但是数据库查询显示为空搜不到,如果我用if判断也太麻烦了,假如我有十几个搜索条件。Django里面用到的Entry.objects.filter()函数,大部分用的就是必须输入查询变量和指定的值。isnull / isnotnull 判空。
2023-10-30 20:57:51
649
原创 虚拟机:[Errno 256] No more mirrors to try
使用linux系统的yum命令去安装一些软件时总是会出现各种问题。下面总结一下首先官方说明yum:Yum(全称为 Yellow dog Updater, Modified)基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。我对yum的理解就是yum就是集结了软件安装和下载的命令,我们需要建立仓库yum,后续各种软件的下载直接通过yum install进行。yum仓库搭建过程如下:1. 创建文件
2022-05-21 21:28:06
3945
3
原创 虚拟机ping不通外网:ens33:<NO-CARRIER,BROADCAST,MULTICAST,UP>
虚拟机突然发生错误,ping不了外网,按照很多解答方案修改/etc/system/network-scripts/ifcfg-ens33 去配置静态IP,也还是不行,然后ip 查看网卡ens33就发现出现ens33:<NO-CARRIER,BROADCAST,MULTICAST,UP>mtu 1508 gdisc pf ifo_fast state DOWN。检查了其他一切虚拟机配置没有问题后,发现是自己本机的VMware服务的net服务没有开启,应该是之前自己不小心关闭之后忘记重新开启了,大家点击我的
2022-05-08 23:26:17
8481
8
原创 计算机组成——各个硬件介绍
通过看王道视频,自己做的一些笔记计算机发展历史:1.电子管 -》晶体管-》中等规模集成电路-》大规模集成电路一些基本概念:计算机系统=计算机硬件(CPU、外设等)+计算机软件(系统软件+应用软件)系统软件:操作系统,DBMS数据库管理系统、标准库函数、网络程序等;应用软件:各种开发APP软件,桌面软件等;微处理器(CPU):一个AMD CPU就集成了85亿个晶体管微型计算机(个人计算机)存储单元:每个存储单元存放一串二进制代码存储字:存储单元中二进制代码的组合存储字长:存
2022-05-05 22:17:46
795
原创 虚拟机繁忙、被另外的程序占用、关不了、黑屏
之前在搭建虚拟机的时候,重新开启就会出现故障,黑屏,而且关闭不了。原因是电脑没有启用虚拟打印机,大家开启虚拟机的时候就看一下是不是没有启用,没有启用就会出现故障。解决方法:首先把电脑任务管理器中关于VMware的进程全部清除掉反正自己百度,使用一切方法把当前正在运行的虚拟机全部删除掉。之后点击VMware软件上面导航栏的编辑-》首选项-》设备,启动虚拟打印机启动之后再开启虚拟机就可以正常运行了。...
2022-04-24 09:54:17
1935
原创 Sqlyog 远程连接access denied root@192.168.218.1
发现连接错误,首先检查防火墙关闭了没使用以下命令关闭systemctl stop firewalld.servicesystemctl disable firewalld.service同时在本地mysql中设定所有ip地址可访问一开始我用的是grant all on *.* to root@'%' identified by '密码'发现出错,因为mysql版本不对因此需要使用create user 用户名@'%' identified by '密码';//这里用户名一般
2022-03-30 22:21:24
931
原创 实现局域网通过本机IP地址加端口号访问本地虚拟机的web项目
(1)首先保证你的电脑上面已经安装了虚拟机,并且搭建了web项目,并在本机上成功通过虚拟机ip地址访问项目。比如这个是你的虚拟机IP地址192.168.218.134(2)点击编辑-》虚拟网络编辑器-》VMNET8-》NAT设置-》添加端口转发这一步是为了将虚拟机的访问对应到本机访问中,这样子局域网内的其他电脑就可以通过本机IP地址+端口号来访问项目了。这里我设定的端口号是8091,那么我就使用本机IP地址:8091进行访问。但是注意,本机必须开启这个端口先开启步骤:控制面板\系
2022-03-30 00:17:38
8013
2
原创 题解 | #判断是不是平衡二叉树#十六行代码解决
算法思路:通过递归判断左右子树的高度,如果返回-1说明不平衡,否则返回值就是子树的高度,可以判断左右子树是否平衡。public boolean IsBalanced_Solution(TreeNode root) { if(root==null) return true; int i=hei(root); if(i==-1) return false; return true; } public static int he
2022-03-29 23:34:22
316
原创 题解 | #跳台阶#
算法思路:使用动态规划,先定义数组arr[n]代表第n个台阶得跳法,这个就等于arr[n-2]+arr[n-1],因为可以从n-2跳到n或者从n-1跳动n.public int jumpFloor(int target) { int[] arr=new int[target+1]; arr[0]=1; arr[1]=1; for(int i=2;i<=target;i++){ arr[i]=arr[i-1]+
2022-03-29 23:32:44
73
原创 题解 | #复杂链表的复制#
解题思路:先将原来的链表按照next指针依次构造链表,而对与随机random指针,这里需要额外构造一个map,key为节点的label值,value就是该节点,这样子每次都可以根据label而快速找到该节点,然后进行连接。class RandomListNode { int label; RandomListNode next = null; RandomListNode random = null; RandomListNode(int label) {
2022-03-29 23:31:31
511
原创 题解 | #二叉树中和为某一值的路径(二)#
//这里有一个巧妙之处,有点类似深度优先搜索,也有点类似前序遍历,同时每次都是把expectNumber与节点值相减,在遍历时,每次都把节点加入路径中,直到搜索到叶子节点,再判断expectNumber是否减为0了,如果是则加入总路径arrAll 最后都要从arr路径中移除最后一个值,这样就可以回溯到父子节点。import java.util.ArrayList;class TreeNode { int val = 0; TreeNode left = null; TreeNode ri
2022-03-29 23:30:33
780
原创 题解 | #机器人的运动范围#
解题思路:因为我们是需要统计机器人能到达的格子,因此我们先定义一个flag数组,保存该格子是否已经到达过,然后定义全局变量num来存储到达的格子数,这里使用回溯法,但是有点区别,就是我们不需要对flag数组的访问标记进行重置0,因为我们不需要回溯回到原来的格子,我们只是统计能到达的格子,如果重置为0会导致重复走过该格子。而且我们递归,只需要往右和往下递归,其实就已经遍历整个数组了,我们目的就是遍历完整个格子,看看哪些符合要求。int num = 0; public int movingCoun
2022-03-29 23:27:06
74
原创 Maven部署到tomcat 能访问欢迎页不能访问jsp页面的解决
maven项目部署流程(1)先在本地eclipse进行maven clean 如果发生clean错误 检查一下自己是否开启了多个服务要把所有的java进程关掉。(2)进行maven build这里注意3个点User settings记得选择maven下面的conf下面的settings.xml还有勾选2个选项同时点击上面的source选择自己的maven项目,如果没有出现,就add进行添加java项目找到自己的maven然后run打包变成war包。..
2022-03-29 22:51:46
1694
1
原创 有 n 个视频文件从小到大按字典序排序输出其中的前 50 个
Input一行一个数字 n, 表示存在的视频个数Output一共 50 行,每行一个字符串,分别为字典序第 i小的视频文件名,注意,这个文件名里需要包含 .mp4解题思路:对于这个题目,我使用了递归来做,主要是不断计算出从1开始,到10,100,1000...直到小于输入n,然后再退回继续计算1001,10010... 101 ,1010...以n=50为例子 ,在co方法中,首先输出1,然后判断1*10是否小于n如果小于,则继续co方法进入,接着输出10,然后判断10*10<n
2022-03-27 20:32:58
565
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人