• 2025-01-23java数组
    数组int[]nums;//数组声明nums=newint[10];//创建一个数组intsum=0;nums[0]=1;nums[1]=2;nums[2]=3;nums[3]=4;nums[4]=5;nums[5]=6;nums[6]=7;nums[7]=8;nums[8]=9;nums[9]=10;for(inti=0;i<nums.length;i+
  • 2025-01-23代码随想录算法训练营第2天|209. 长度最小的子数组、59.螺旋矩阵II
    LeetCode2092025-01-2318:31:09星期四题目描述:力扣209文档讲解:代码随想录(programmercarl)209.长度最小的子数组视频讲解:《代码随想录》算法视频公开课:拿下滑动窗口!|LeetCode209长度最小的子数组代码随想录视频内容简记这道题目仍然是用双指针的思想,如果是暴力解法
  • 2025-01-23011. 带分数
    011.带分数原题链接:P8599[蓝桥杯2013省B]带分数解题思路:题目大意:给你一个\(n\),问有多少种表示为\(a+\fracbc\)的形式,且\(a\),\(b\),\(c\)中的数字正好不重复不遗漏的包含数字\(1\)~\(9\)。分析:如果这道题去枚举\(a\),再去一个一个枚举\(b\),再算出\(c
  • 2025-01-23java基础Day6 java数组
    一、数组的定义二、数组的声明和创建dataType[]arrayRefVar;//首选方法dataTypearrayRefVar[];//效果相同,但不是首选方法int[]nums;//声明一个数组nums=newint[10];//创建一个数组//给数组元素赋值nums[0]=1;nums[1]=2;nums[2]=3;nums[3]=4;nums[4]=
  • 2025-01-23leetcode——缺失的第一个整数(java)
    给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案。示例1:输入:nums=[1,2,0]输出:3解释:范围[1,2]中的数字都在数组中。示例2:输入:nums=[3,4,-1,1]输出:2解释:1在数组中,但2
  • 2025-01-22【动态规划】落花人独立,微雨燕双飞 - 8. 01背包问题
    本篇博客给大家带来的是01背包问题之动态规划解法技巧.
  • 2025-01-22代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素、977.有序数组的平方
    LeetCode7042025-01-2218:30:38星期三代码随想录视频内容简记梳理一下三个比较重要的部分首先是对于整个代码的循环条件,这个很重要判断middle位置在我看来初学也是比较重要一步注意:所有的middle位置判断都是if语句实现的,固定的大于和小于。这个不用纠结一不一样更
  • 2025-01-2234. 在排序数组中查找元素的第一个和最后一个位置
    给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1,-1]。你必须设计并实现时间复杂度为 O(logn) 的算法解决此问题。 示例1:输入:nums=[5,7,7,8,8,10],tar
  • 2025-01-21零数组变换II
    思路对一段区间加减并且进行多次操作可以联想到差分算法,并且queries数组比较大,可以使用二分查找加快效率。这里的代码个人觉得lambda表达式更加简洁代码intminZeroArray(vector<int>&nums,vector<vector<int>>&queries){intn=nums.size(),q=queries.size();
  • 2025-01-212090. 半径为 k 的子数组平均值
    【题目】:2090.半径为k的子数组平均值classSolution{public:vector<int>getAverages(vector<int>&nums,intk){vector<int>res(nums.size(),-1);longcurSum=0;//记录当前滑窗内的数值和for(intl=0,r=0;r<nums.s
  • 2025-01-2133. 搜索旋转排序数组
    整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使数组变为[nums[k],nums[k+1],...,nums[n-1],nums[0],nums[1],...,nums[k-1]](下标从0开始计数)。例如,[0,1,2,4,5,6,7]在下标3处经
  • 2025-01-202239. 找到最接近 0 的数字
    给你一个长度为n的整数数组nums,请你返回nums中最接近0的数字。如果有多个答案,请你返回它们中的最大值。示例1:输入:nums=[-4,-2,1,4,8]输出:1解释:-4到0的距离为|-4|=4。-2到0的距离为|-2|=2。1到0的距离为|1|=1。4到0的距离为|4|=4
  • 2025-01-20冲刺蓝桥杯之速通vector!!!!!
    文章目录知识点创建增删查改习题1习题2习题3习题4:习题5:知识点C++的STL提供已经封装好的容器vector,也可叫做可变长的数组,vector底层就是自动扩容的顺序表,其中的增删查改已经封装好创建constintN=30;vector<int>a1;//创建叫a1的空的可变长的数组vector<int>a2
  • 2025-01-19算法随笔_12:最短无序子数组
    上一篇: 算法随笔_11:字符串的排列-CSDN博客题目描述如下:给你一个整数数组nums,你需要找出一个连续子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的最短子数组,并输出它的长度。示例1:输入:nums=[2,6,4,8,10,9,15]输出:5解释:
  • 2025-01-19代码随想录:将有序数组转化为二叉搜索树
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*TreeNode(intx):val(x),left(nullptr),right(nullptr){}*
  • 2025-01-19LeetCode栈和队列
    栈和队列LeetCode栈和队列刷题记录基础知识栈线性表,只允许在表的一段进行插入和删除操作,满足先进后出原则栈在python中没有特定的类或库函数,一般通过列表(list)或是collections.deque双端队列来实现liststack=[]stack.append(1)#压栈stack.append(2)print(st
  • 2025-01-19LIS于LCS
    LIS与LCS是动态规划中最常见的两种情况,LIS也就是最长上升子序列,而LCS是最长公共子序列。在解决这个问题之前,先要明白为什么是序列,举个例子来说明,在数组[1,2,3,4,5,6]中,[2,3,5]就是其子序列,也就是说,子序列其实就是数组中存在先后顺序,但不强调连续的子数组。那么,在了解了序列是什
  • 2025-01-19【华为OD-E卷 - 第k个排列 100分(python、java、c++、js、c)】
    【华为OD-E卷-第k个排列100分(python、java、c++、js、c)】题目给定参数n,从1到n会有n个整数:1,2,3,…,n,这n个数字共有n!种排列。按大小顺序升序列出所有排列的情况,并一一标记,当n=3时,所有排列如下:“123”“132”“213”“231”“312”“321”给
  • 2025-01-19leetcode——三数之和(java)
    给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输
  • 2025-01-19C++算法第十六天
    本篇文章我们继续学习动态规划第一题题目链接978.最长湍流子数组-力扣(LeetCode)题目解析从上图可见其实有三个状态代码原理注意:我们在分析题目的时候分析出来的是三个状态,分别是上升、下降、平坦,但是不一定要定义三个状态表示,一个不够加一个,直到可以解决这道题为止
  • 2025-01-18LeetCode题练习与总结:下一个更大元素 Ⅲ -- 556
    一、题目描述给你一个正整数 n ,请你找出符合条件的最小整数,其由重新排列 n 中存在的每位数字组成,并且其值大于 n 。如果不存在这样的正整数,则返回 -1 。注意 ,返回的整数应当是一个 32位整数 ,如果存在满足题意的答案,但不是 32位整数 ,同样返回 -1 。示例1:
  • 2025-01-18python-leetcode-存在重复元素 II
    219.存在重复元素II-力扣(LeetCode)classSolution:defcontainsNearbyDuplicate(self,nums:List[int],k:int)->bool:seen=set()fori,numinenumerate(nums):ifnuminseen:returnTrue
  • 2025-01-18动态规划(dp数组)
    动态规划,是利用历史记录来避免重复计算的一种算法,是求解决策过程最优化的过程。一般用一维数组/二维数组来保存历史记录。(将原问题拆解成若干子问题,同时保存子问题的答案,使每个子问题只求解一次,最终获得原问题的答案。)一般动态规划有三个步骤:1.定义数组元素的含义,一般求什么就
  • 2025-01-18leetcode198&213-打家劫舍1,2
    你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜
  • 2025-01-18LeetCode:491.递增子序列
    跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的!代码随想录LeetCode:491.递增子序列给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。你可以按任意顺序返回答案。数组中可能含有重复