随笔分类 -  每日一题

每天一道算法题,并写下解题思路
摘要:题目描述 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 思路 栈的特点为先进后出,队列的特点为先进先出,当我们使用两个栈A 阅读全文
posted @ 2022-01-24 14:28 2月2日 阅读(43) 评论(0) 推荐(0)
摘要:题目描述 总共有n 个颜色片段排成一列,每个颜色片段要么是 'A' 要么是'B'。给你一个长度为 n 的字符串 colors ,其中 colors[i] 表示第 i 个颜色片段的颜色。 Alice 和 Bob 在玩一个游戏,他们 轮流 从这个字符串中删除颜色。Alice 先手 。 如果一个颜色片段为 阅读全文
posted @ 2022-01-22 20:45 2月2日 阅读(87) 评论(0) 推荐(0)
摘要:题目描述 设想有个机器人坐在一个网格的左上角,网格 r 行 c 列。机器人只能向下或向右移动,但不能走到一些被禁止的网格(有障碍物)。设计一种算法,寻找机器人从左上角移动到右下角的路径。 网格中的障碍物和空位置分别用 1 和 0 来表示。 返回一条可行的路径,路径由经过的网格的行号和列号组成。左上角 阅读全文
posted @ 2022-01-18 15:08 2月2日 阅读(88) 评论(0) 推荐(0)
摘要:题目描述 有一个具有 n个顶点的 双向 图,其中每个顶点标记从 0 到 n - 1(包含 0 和 n - 1)。图中的边用一个二维整数数组 edges 表示,其中 edges[i] = [ui, vi] 表示顶点 ui 和顶点 vi 之间的双向边。 每个顶点对由 最多一条 边连接,并且没有顶点存在与 阅读全文
posted @ 2022-01-16 11:04 2月2日 阅读(312) 评论(0) 推荐(0)
摘要:题目 判断链表是否有环 解题思路 floyd判环算法:假设链表有环,使用fast和slow两个指针,fast每次移动是slow的n倍,slow每次移动一步,我们采用n=2来进行举例 令slow和fast指针开始移动,直至相遇(链表有环),此时slow移动了s步,fast移动了2s步 将slow移动至 阅读全文
posted @ 2021-12-15 15:41 2月2日 阅读(62) 评论(0) 推荐(0)
摘要:BFS、DFS 阅读全文
posted @ 2021-11-22 17:39 2月2日 阅读(48) 评论(0) 推荐(0)
摘要:滑动窗口 阅读全文
posted @ 2021-11-22 16:48 2月2日 阅读(58) 评论(0) 推荐(0)
摘要:双指针 阅读全文
posted @ 2021-11-22 14:48 2月2日 阅读(51) 评论(0) 推荐(0)
摘要:快慢指针 阅读全文
posted @ 2021-11-22 14:33 2月2日 阅读(45) 评论(0) 推荐(0)
摘要:阶乘 阅读全文
posted @ 2021-11-19 17:34 2月2日 阅读(73) 评论(0) 推荐(0)
摘要:双指针 阅读全文
posted @ 2021-11-19 17:21 2月2日 阅读(52) 评论(0) 推荐(0)
摘要:双指针 阅读全文
posted @ 2021-11-16 17:46 2月2日 阅读(39) 评论(0) 推荐(0)
摘要:双指针 阅读全文
posted @ 2021-11-16 17:23 2月2日 阅读(36) 评论(0) 推荐(0)
摘要:取模 阅读全文
posted @ 2021-11-16 16:58 2月2日 阅读(59) 评论(0) 推荐(0)
摘要:双指针,冒泡排序 阅读全文
posted @ 2021-11-16 15:35 2月2日 阅读(39) 评论(0) 推荐(0)
摘要:题目 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bo 阅读全文
posted @ 2021-11-16 15:04 2月2日 阅读(62) 评论(0) 推荐(0)
摘要:题目 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 解题思路 基础的二分查找,通过比较中位数的大小折半查找目标值 class Solution { public int se 阅读全文
posted @ 2021-11-16 15:03 2月2日 阅读(54) 评论(0) 推荐(0)
摘要:题目描述 判断字符串 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址 IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1; 同时,IPv4 地址内的数不会以 0 开头。比如,地址 172 阅读全文
posted @ 2021-07-21 00:03 2月2日 阅读(67) 评论(0) 推荐(0)
摘要:题目 给定一个链表,请判断该链表是否为回文结构。 解题思路 ​ 遍历(将链表分成两部分进行比较) 创建两个与原链表相同的链表,first和slow,first指针每次移动两次,slow指针每次移动一次,当first移动至null时,该链表为偶数个,如果不为null,则是奇数个,可以自己画图验证,当奇 阅读全文
posted @ 2021-07-07 02:00 2月2日 阅读(69) 评论(0) 推荐(0)
摘要:题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0 解题思路 ​ 冒泡排序 通过冒泡排序将数组从小到大排序,返回的第一个数即是最小值 二分查找 因为该数组为 阅读全文
posted @ 2021-07-05 23:51 2月2日 阅读(57) 评论(0) 推荐(0)