自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 打卡第二十三天:两数之和

题目描述1.暴力解法计算每个数字的差值,然后用indexof找差值的下标,找到了就返回JavaScript中的indexOf方法是用于查找数组中指定元素的位置的方法。如果数组中包含该元素,则返回该元素的索引;如果数组中不包含该元素,则返回-1。该方法的语法如下:array.indexOf(searchElement[, fromIndex])其中,array表示要进行搜索的数组;searchElement表示要查找的元素;fromIndex是一个可选参数,表示从数组的哪个索引开始查找

2023-05-17 23:52:44 83

原创 打卡第二十二天:反转字符串中的单词

时间复杂度:O(N)空间复杂度:O(1)

2023-05-16 20:19:53 78

原创 打卡第二十一天:左旋转字符串

【代码】打卡第二十一天:左旋转字符串。

2023-05-11 21:08:43 79

原创 打卡第二十天:替换空格

/统计空格数量 int count = 0;i < len;} } //为新数组分配空间 int newlen = len + count * 2;//填充新数组并替换空格 for(int i = len - 1 , j = newlen - 1;i >= 0;if(s [ i ]!

2023-05-10 22:37:19 69

原创 打卡第十九天:反转字符串2

【代码】打卡第十九天:反转字符串2。

2023-05-09 21:43:49 44

原创 打卡第十八天:反转字符串

【代码】打卡第十八天:反转字符串。

2023-05-09 21:05:06 42

原创 打卡第十七天:赎金信

【代码】打卡第十七天:赎金信。

2023-05-08 17:49:51 59

原创 打卡第十六天:快乐数

【代码】打卡第十六天:快乐数。

2023-05-08 17:20:24 61

原创 打卡第十五天:两个数组的交集

时间复杂度:O(n+m)空间复杂度:O(n)

2023-05-05 21:30:34 32

原创 打卡第十四天:有效的字母异位词

/ len的值为6(包括末尾的’\0’)

2023-05-04 17:25:00 41

原创 打卡第十三天:环形链表

不懂的时候点这里再看一遍吧,好牛逼。。。

2023-04-26 17:07:44 44

原创 打卡第十二天:寻找链表相交节点

【代码】打卡第十二天:寻找链表相交节点。

2023-04-25 20:10:32 44

原创 打卡第十一天:删除链表倒数第n个元素

时间复杂度:O(N)空间复杂度:O(1)

2023-04-24 17:43:48 51

原创 打卡第十天:两两交换链表元素

空间复杂度:O(1) 仍然是在链表原地交换,因此没有开辟新的空间。时间复杂度:O(n) 遍历链表。

2023-04-23 23:16:37 42

原创 打卡第九天:翻转链表

题目描述:1.双指针解决思路:用一前一后指针,每次让前面那一个指针指向后面的指针,注意需使用一个临时指针保存前面指针的下一个节点,最后返回后面的指针即可。时间复杂度:O(n)空间复杂度:O(1) 只是在原地翻转,没有开辟新的空间。struct ListNode* reverseList(struct ListNode* head){ struct ListNode* Current=head; struct ListNode* Pre=NULL; while(C

2023-04-20 22:03:51 38

原创 打卡第八天:删除链表元素

1.空间中为不连续存储,节点与节点间通过next链接2.需提前定义结构体初始化链表题目描述。

2023-04-19 23:10:25 95

原创 打卡第七天:螺旋数组

【代码】打卡第七天:螺旋数组。

2023-04-18 20:37:03 45

原创 小结:关于滑动窗口

如水果成篮中,出现第三种水果则快指针不动,慢指针动,当水果又变为两种时,慢指针不动,快指针动。如寻找最小字串中,当满足题目要求覆盖t中字符时,快不动慢动,当不覆盖时,慢不动快动。

2023-04-18 17:59:34 37

原创 打卡第六天:找出最小覆盖字串

思路:先定义两个数组分别存放t中的字符和window(滑动窗口的字符),然后定义两个指针,right一直往右走,直到window里的字符数量与字符种类达到t的要求(与need进行比较)停下来,再进行收缩窗口的操作,把左指针指的字符扔出去,如果其中window的数值满足need的要求,则vaild–。

2023-04-17 21:36:47 46

原创 打卡第五天:水果成篮(滑动窗口)

2.typeSum>2时,不能直接fruitsType[fruits[slow]]=0;这种赋0操作,因为slow要一步步遍历后面的数组,直到出现有数字数量为0才会进入下一次循环。如数组{3,3,1,2}读到2的时候typesum>2,若直接fruitsType[fruits[slow]]=0,下一个slow读的还是3,此时子数组{3,1,2,},仍然是错误的。1.fruitsType[fruits[fast]]++这个操作是每一次循环必须执行的,无需判断条件,因为要把数字存起来。

2023-04-15 14:21:47 54

原创 打卡第四天:找到长度最小的子数组

思路:由于仅使用一个for循环,因此只能有一个指针遍历数组,那就是最后能走到终点的指针。快的那个指针(fast)不断往后走,判断现有的子数组能否达到要求的sum。达到要求后,比较上次的子数组长度和现在的子数组长度,取小的那个,接着减去慢指针现在位置的元素,然后慢指针(slow)开始往后走,至此就实现了功能。仅使用一个for循环,空间复杂度为O(n)

2023-04-14 21:59:51 34

原创 打卡第三天:有序数组的平方

思路:一个指针放开头(left),另一个指针放末尾(right),每次比较两者平方的大小,arr[left]大时,就往新数组里放,left++,同理得right–。需要注意定义一个变量作为新数组的下标。

2023-04-13 22:59:01 40

原创 打卡第二天:删除数组中的目标元素

快指针起到判断的作用,如果不是目标元素(即新数组中需要的元素),就把它给到slow的位置,如果是目标元素就不管,后续会让slow直接覆盖。慢指针指的每一个位置都是新数组元素的位置,因为经由快指针的判断,赋过来的每一个元素都是新数组所需要的。可见,遇到目标元素2时slow就不动了,因为它是新数组元素的位置,2不在新数组里。最后直接返回slow就行,因为有下标0的存在,slow即是数组的大小。

2023-04-12 22:17:45 112 1

原创 打卡第1天:二分法查找有序数组

二分法查找有序数组

2023-04-11 20:27:57 140

原创 C语言 检验用户的合法性输入(switch语句)

小白必看之----------检验合法性输入!!!!!!

2022-11-27 17:58:28 2430

原创 c语言 结构体链表实现信息管理系统(通讯录)(增删改查并且对编号排序)

c语言 结构体链表实现信息管理系统(通讯录)(增删改查并且对编号排序) 详细版,进来绝对不后悔!!!!欢迎批评!!!

2022-10-29 11:41:04 2329 2

空空如也

空空如也

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

TA关注的人

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