代码编织梦想

【代码随想录算法训练营11期】day 6 | c++-爱代码爱编程

242. 有效的字母异位词 解题思路:用数组做哈希映射 class Solution { public: bool isAnagram(string s, string t) { if (s.size() != t.size()) return false; // 1.初始化字母“偏移”表,

和为目标值的两个整数,返回其下标-爱代码爱编程

两数之和 class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int]

力扣题目——1.两数之和-爱代码爱编程

题目如图 代码如下 class Solution { public int[] twoSum(int[] nums, int target) { int arr[] = new int[2]; int n = nums

leetcode 112. 路径总和,113. 路径总和ii,106.从中序与后序遍历序列构造二叉树,105.从前序与中序遍历序列构造二叉树-爱代码爱编程

112. 路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 /** * Definition for

leetcode 热题 c++ 647. 回文子串-爱代码爱编程

647. 回文子串 - 力扣(Leetcode) 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示例 1: 输入:s = "abc" 输出:3

leetcode 654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树-爱代码爱编程

654.最大二叉树 又是构造二叉树,昨天大家刚刚做完中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树都是 前序遍历 构造树一般采用的是前序遍历,因为先构造中间节点,然后递归构造左子树和右子树。 注意类似用数组构造二叉树的题目,每次分隔尽量不要定义新的数组,而是通过下标索引直接在原数组上操作,这

外观数列-力扣38-java时间内存均击败96%-爱代码爱编程

一、题目描述 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) = "1" countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。

第6天-(day5休息)代码随想录刷题训练● 24. 两两交换链表中的节点 ● 19.删除链表的倒数第n个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表ii-爱代码爱编程

文章目录 1.哈希表的原理2.有效的字母异位数3.两个数组的交集4. 快乐数字5. 两数之和 1.哈希表的原理 哈希一般解决的问题: 快速判断一个元素是否出现在集合里。 时间复杂度可以达到O(1) 哈希碰撞:

leetcode-爱代码爱编程

6319. 奇偶位数 位运算模拟 class Solution { public int[] evenOddBit(int n) { int i = 0; int[] ans =

day4|leetcode24.两两交换链表中的节点,19.删除链表的倒数第n个节点,07. 链表相交 ,142.环形链表ii-爱代码爱编程

24.两两交换链表中的节点 class Solution { public: ListNode* swapPairs(ListNode* head) { ListNode* dummyHead = new ListNode(0);//设置虚拟节点 dummyHead->next = head; ListNode*

代码随想录算法训练营第十二天| ● 239. 滑动窗口最大值 ● 347.前 k 个高频元素-爱代码爱编程

239. 滑动窗口最大值 347.前 K 个高频元素 239. 滑动窗口最大值1.思路2.代码实现 347.前 K 个高频元素1.思路2.代码实现 239. 滑动窗口最大值 题目 文字 视频 1.思

代码随想录算法训练营第十一天| ● 20. 有效的括号 ● 1047. 删除字符串中的所有相邻重复项 ● 150. 逆波兰表达式求值-爱代码爱编程

20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值 20. 有效的括号1.思路2.代码实现 1047. 删除字符串中的所有相邻重复项1.思路2.代码实现 150. 逆波兰

代码随想录算法训练营第十天|232.用栈实现队列 ● 225. 用队列实现栈-爱代码爱编程

232.用栈实现队列 225. 用队列实现栈 232.用栈实现队列1.思路2.代码实现 225. 用队列实现栈1.思路2.代码实现 232.用栈实现队列 题目 文字 视频 1.思路 在pus

第 100 场双周赛-爱代码爱编程

第 100 场双周赛 这场偏简单,前面有点思维。 赛时源代码,没任何优化。 Q1 思维 当时刚洗完澡,还蒙的。写了半天判断,越来越乱,后来干脆就暴力了。暴力还wa2. class Solution { pub

【代码随想录算法训练营11期】day 4 | c++-爱代码爱编程

24. 两两交换链表中的节点 解题思路: 定义虚拟头结点辅助节点交换,如下图所示: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), ne

数组,移除元素,力扣-爱代码爱编程

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素 示例 1: 输入:nums = [3,2,2,3], val = 3 输出:2, nums

力扣题目——9.回文数-爱代码爱编程

题目如图 代码如下 class Solution { public boolean isPalindrome(int x) { int opnum = 0; int temp = x; if(x <

[力扣] 1616. 分割两个字符串得到回文串-爱代码爱编程

题目: 分析: 首先只考虑 a的前缀 + b的后缀 构成回文串的情况(反过来的解决思路完全相同),采用双指针的思想,左指针从a的左边开始遍历,右指针从b的右边开始遍历,如果要构成回文串,则 a的头部 和 b的尾部一定会存在

leetcode 110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和-爱代码爱编程

110.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树 每个节点 的左右两个子树的高度差的绝对值不超过 1 。 因为求深度可以从上到下去查 所以需要前序遍历(中左右),而高度只能从下到上去查,所以只能后序遍历(左右中)

力扣-重建二叉树-爱代码爱编程

题目 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 Input: preorder = [3,9,20,15,7], ino