省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。 给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。 返回矩阵中 省份 的数量。 示例1: 输入:isConnected = [[1,1,0],[...
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 另一种常见的迭代模式是快速和慢速指针。这种模式也常用...
剑指Offer 53 - I. 在排序数组中查找数字 I# lower_bound和upper_bound的使用 点击查看代码 classSolution{public:intsearch(vector<int>&nums,inttarget){intl_place=lower_bound(nums.begin(),nums.end(),target)-nums.begin();intr_place=upper_bound(nums.begin(),nums.end(),target)-nums.begin();ret...
[leetcode刷题]——剑指offer 此篇博客主要记录剑指offer中遇到的不会的题。 一、重建二叉树(剑指offer 07) medium 2021-06-22 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 解题思路:前序遍历的特点,根节点在第一位; 中序遍历的特点,...
图解LeetCode——剑指 Offer 12. 矩阵中的路径 一、题目 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的...
图解LeetCode——剑指 Offer 57. 和为s的两个数字 一、题目 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。二、示例 2.1> 示例 1:【输入】nums = [2,7,11,15], target = 9【输出】[2,7] 或者 [7,2]2.2> ...
《剑指Offer》笔记&题解&思路&技巧&优化 Java版本——新版leetcode_Part_1 🙌🙌🙌 相识 根据题型可将其分为这样几种类型: 结构概念类(数组,链表,栈,堆,队列,树) 搜索遍历类(深度优先搜索,广度优先搜索,二分遍历) 双指针定位类(快慢指针,指针碰撞,滑动窗口) ...
剑指Offer 37. 序列化二叉树 请实现两个函数,分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。 提示:输入输出格式与 LeetCode 目前使...
给定一个数组 prerequisites ,它的每一个元素 prerequisites[i] 表示两门课程之间的先修顺序。 例如 prerequisites[i] = [ai, bi] 表示想要学习课程 ai ,需要先完成课程 bi 。 请根据给出的总课程数 numCourses 和表示先修顺序的 prerequisites 得出一个可行的修课序列。 可能会有多个正确的顺序,只要任意返回一...
图解LeetCode——剑指 Offer 09. 用两个栈实现队列 一、题目 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )二、示例 示例 1:【输入】["CQueue","appendTail","...