自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 01.05 数组双指针、滑动窗口

如果窗口内0的个数大于k,说明窗口内需要翻转的0的个数超过了允许的最大值k,这时需要缩小窗口。这个题是典型的滑动窗口,最后注意计算的时候要把int型的sum先转为double。直接使用双指针,分别从前从后遍历,并且交换数组元素的值就好了。使用快慢指针,快指针用来遍历数组,满指针遍历最终需要输出的数组。感觉和滑动窗口关系不大,就简单遍历,统计最大的就可以了。,以确保它始终记录窗口中最大的连续1的长度。用于记录窗口内0的个数,并初始化一个变量。逐步向右移动,同时统计窗口内的0的个数。用于记录最大连续1的长度。

2023-09-25 00:39:21 24 1

原创 01.04.01 二分查找

在二分查找的基础上进行判断,如果target>最大值那么插入位置就是right+1,否则就是mid。先固定一个数a,再在a右边的数字中查找与a相加和为target的数。暴力解法,直接遍历0-x/2的数,注意别溢出就行。二分查找的左右边界分别是最大重量和总重量。第二种做法,使用二分查找。一个最基本的二分查找。还是二分查找的题目。

2023-09-22 00:25:31 29

原创 算法入门与数组篇——01.03 数组排序

这其实只是归并排序的合并过程,但是这样做空间复杂度为O(m+n),空间复杂度为O(1)的方法是利用nums1后面的空白空间,每次都将最大的放入nums1的最后面。而这道题的这个 lambda 表达式的目的是比较两个字符串 x 和 y,并返回一个布尔值,指示哪个字符串应该在前面。比较的标准是将两个字符串连接起来后的大小。使用复杂度为n方的选择排序会导致超时,因为快排在面对完全倒序的数组时候就会退化,所以使用普通的快排也会超时。还可以使用归并排序,但是可能会使用很多的额外存储空间,空间复杂度较高。

2023-09-18 21:34:39 26

原创 算法入门与数组篇——01.02 数组基础

这道题和第六题解法类似,唯一需要注意的 就是需要增加一个visited数组判断下一个位置是否已经被访问过 ,否则按照四个方向的话只能循环最外边的一层。因为只需要加一,所以最多只会产生一种情况的连续进位,就是有连续的9在末尾,所以正确的做法是计算末位连续的9的个数。这道题有意思的地方在于整数的长度会很长,导致不能用longlong存储,所以不能直接转为整数运算。这道题唯一需要注意的地方就是k可能就会大于nums.size,所以先对k取余即可。这道题还是挺难的,旋转可以通过一次横向轴对称和一次对角线对称得到。

2023-09-14 11:30:07 35 1

原创 算法入门与数组篇——数据结构与算法简介(01.01)

因为题目都很简单,就不写过多的废话,直接贴上代码和截图好啦。

2023-09-12 20:28:40 39 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除