算法分析与设计
文章平均质量分 64
胖胖的懒羊羊
努力成为一名优秀的开发者。
很高兴,能够遇见你️
展开
-
LeetCode分类刷题----字符串篇
双指针法,先统计空格的个数,然后给原字符串扩充空格*2的字符长度,然后left指针指向原字符串最后一个,right指针指向扩充后的字符串最后一个,当left指针遇到空格的时候,right指针存入%20即可,如果是正常字符则存入正常字符。用两个指针,快指针一直往后走,当它遇到不是空字符串的时候,就在慢指针里填充,注意每个单词之间要保证有一个空格。将原来的字符串拼接起来,然后删去头一个字母和最后一个字母,判断剩下的字符串是否还包含原来的字符串,如果包含的话就符合题意,如果不包含就不符合题意。原创 2023-01-19 18:28:21 · 1281 阅读 · 1 评论 -
03.一些基础的数据结构(链表、栈和队列)
@TOC单链表结构: 双链表结构 反转链表 反转双链表 删除链表指定节点 需要判断第一个是不是要删除的节点,假如话说第一个节点就需要删除,则需要换头部。 栈和队列 实现最小栈 用栈实现队列 两个栈实现,一个push栈,一个pop栈。 倒数据要一次性倒完。哈希表put一个数时,时间复杂度都是o(1) 哈希表用integer作键时,按值传递,不是按引用传递。原创 2022-11-30 20:44:44 · 406 阅读 · 0 评论 -
02.异或运算相关面试题
看每个位上的能否被m整除,如果能被m整除,则这个数字在这一位上的数为0,如果不能被M整除,则这个数字在这一位上的数为1。这样用eor’来得出第一类异或的结果,结果就是a或b.然后eor^eor’这样就得出了另一个数。把a^b结果中最右侧的1提取出来,假设这一位为N,说明a,和b在第n位上的字母不一样。把原来的数分为两类,第一类是第n位上是1的数,第二类是第n位上不是1的数。异或概念:相同为0,不同为1.(又叫无进位相加),和出现的位序没有关系。用变量eor把所有的变量都异或一次,结果就是a^b。原创 2022-10-09 17:27:08 · 242 阅读 · 0 评论 -
算法和数据结构体系班 01.认识复杂度、对数器、二分法
三种排序算法原创 2022-10-07 20:43:55 · 345 阅读 · 0 评论