随笔分类 -  课程 / / 🐂

1
摘要:一、题目 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 二、思路 剩余左括号总数要小于等于右括号 三、代码 class Solution { List<String> res = new ArrayList<>(); public List<Stri 阅读全文
posted @ 2023-10-10 15:24 ImreW 阅读(5) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 二、思路 我们移动 数字 阅读全文
posted @ 2023-06-25 19:25 ImreW 阅读(5) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 123 不是。 二、思路 由于整个过程我们不断将原始数字除以 10,然后给反转后的数字乘上 10,所以,当原 阅读全文
posted @ 2023-06-25 11:32 ImreW 阅读(7) 评论(0) 推荐(0) 编辑
摘要:一、题目 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字 阅读全文
posted @ 2023-06-24 19:52 ImreW 阅读(16) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 二、思路 三、代码 class Solution { publ 阅读全文
posted @ 2023-06-23 10:40 ImreW 阅读(3) 评论(0) 推荐(0) 编辑
摘要:一、题目 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串 阅读全文
posted @ 2023-06-22 21:33 ImreW 阅读(19) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 二、思路 三、代码 public class Solution { public String longestPalindrome(String s) { int len = s 阅读全文
posted @ 2023-06-21 20:54 ImreW 阅读(7) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 二、思路 我们使用两个指针表示字符串中的某个子串(或窗口)的左右边界,其中左指针代表着上文中「枚举子串的起始位置」,而右指针即为上文中的 rk ; 在每一步的操作中,我们会将左指针向右移动一格,表示 我们开始枚举下一个 阅读全文
posted @ 2023-06-20 19:28 ImreW 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 二、思路 如果两个链表的长度不同,则可以认为长度短的链 阅读全文
posted @ 2023-06-20 11:07 ImreW 阅读(5) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 二、思路 使用哈希表,可以将寻找 阅读全文
posted @ 2023-06-19 15:33 ImreW 阅读(2) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 二、思路 首先根元素入队 当队列不为空的时候 求当前队列的长度 si​ 依次从队列中取 si 个元素进行拓展,然后进入下一次迭代 三、代码 class Solution { public L 阅读全文
posted @ 2023-06-18 20:24 ImreW 阅读(4) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个二叉树的根节点 root , 检查它是否轴对称。 二、思路 它们的两个根结点具有相同的值 每个树的右子树都与另一个树的左子树镜像对称 三、代码 class Solution { public boolean isSymmetric(TreeNode root) { return c 阅读全文
posted @ 2023-06-17 18:52 ImreW 阅读(4) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 二、思路 比较两个节点的值,如果两个节点的值不相同则两个二叉树一定不同; 如果两个节点的值相同,则判断两个节点的子节点是否为空,如果只有一个节点的 阅读全文
posted @ 2023-06-16 10:50 ImreW 阅读(8) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到 阅读全文
posted @ 2023-06-14 09:18 ImreW 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定二叉树的根节点 root ,返回所有左叶子之和。 二、思路 一个节点为「左叶子」节点,当且仅当它是某个节点的左子节点,并且它是一个叶子结点。因此我们可以考虑对整棵树进行遍历,当我们遍历到节点 node 时,如果它的左子节点是一个叶子结点,那么就将它的左子节点的值累加计入答案。 三、代码 阅读全文
posted @ 2023-06-13 12:47 ImreW 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 二、思路 在遍历完一层节点之后,将存储该层节点值的列表添加到结果列表的头部。 三、代码 class Solution { public List<List<In 阅读全文
posted @ 2023-06-12 09:44 ImreW 阅读(6) 评论(0) 推荐(0) 编辑
摘要:## 1 题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 ## 2 思路 我们可以用广度优先搜索解决这个问题。 ## 3 代码 ``` class Solution { public List> levelOrder(TreeNode roo 阅读全文
posted @ 2023-06-11 13:09 ImreW 阅读(4) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 二、思路 堆排 三、代码 class Solution { public 阅读全文
posted @ 2023-05-17 10:53 ImreW 阅读(5) 评论(0) 推荐(0) 编辑
摘要:一、题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 二、思路 我们可以用迭代的方法来实现上述算法。当 l1 和 l2 都不是空链表时,判断 l1 和 l2 哪一个链表的头节点的值更小,将较小值的节点添加到结果里,当一个节点被添加到结果里之后,将 阅读全文
posted @ 2023-05-11 10:45 ImreW 阅读(29) 评论(0) 推荐(0) 编辑
摘要:一、题目 二、思路 要使lcm(a, b) - gcd(a, b)尽量大,应该让a和b的最小公倍数尽量大,a和b的最大公约数尽量小。当a、b分别取n -1 和 n时满足该条件:最小公倍数为两者乘积,最大公约数为1。 三、代码 #include<iostream> using namespace st 阅读全文
posted @ 2023-03-25 17:21 ImreW 阅读(34) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示