代码编织梦想

leetcode-2319-判断矩阵是否是一个 x 矩阵-爱代码爱编程

1、遍历 我们可以遍历正方形矩阵中的每一个格子,若同时满足 ( g

leetcode 刷题记录707. 设计链表-爱代码爱编程

题目描述: 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev

代码随想录算法训练营第二天| 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵ii-爱代码爱编程

​ Leetcode 977. 有序数组的平方 ​题目描述:给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。   题目链接:https://leet

代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素-爱代码爱编程

Leetcode 704. 二分查找 题目描述:给定一个n 个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回 。 题目链接:https://leetcode.cn/problems/binary-search/  解题思路:看到有序数组第一时间想到

3、无重复字符的最长子串-爱代码爱编程

描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3

2、两数相加-爱代码爱编程

描述: 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 思路: 由于考虑到进位,所以每位的值是(val1+val2+进位值)% 10,所以分两步 两个

wy的leetcode刷题记录-爱代码爱编程

wy的leetcode刷题记录_Day62 声明 本文章的所有题目信息都来源于leetcode 如有侵权请联系我删掉! 时间:2022-12-27 前言 目录 wy的leetcode刷题记录_Day62声明前

leetcode-1750-删除字符串两端相同字符后的最短长度-爱代码爱编程

1、双指针 我们可以使用双指针分别指向字符串的两端。若此时左指针在右指针的左侧且两个指针指向的元素相同则继续循环:在循环当中,我们通过判断当前字符是否与此时左指针所指的元素相同来右移左指针和左移右指针。最终我们返回左右

leetcode 15.三数之和-爱代码爱编程

三数之和 思路:排序+双指针 时间复杂度: O (

【leetcode】17. 电话号码的字母组合-爱代码爱编程

电话号码的字母组合 思路:dfs class Solution { private: string letterMap[10] = { "", "", // 0, 1 "abc", "def", "ghi

leetcode 16.最接近的三数之和-爱代码爱编程

最接近的三数之和 思路:排序+双指针 时间复杂度: O (

leetcode-2032-至少在两个数组中出现的值-爱代码爱编程

1、哈希表+位运算 我们解决问题最简单的思路就是使用哈希表来记录每个数字在数组中出现的次数,而后判断当前数字出现的次数是否大于等于2即可。但这样做存在一个问题,在同一数组中一个数字可能出现过不止一次,因此我们可以使用位

wy的leetcode刷题记录-爱代码爱编程

wy的leetcode刷题记录_Day61 声明 本文章的所有题目信息都来源于leetcode 如有侵权请联系我删掉! 时间:2022-12-26 前言 目录 wy的leetcode刷题记录_Day61声明前

leetcode-103-二叉树的锯齿形层序遍历-爱代码爱编程

1、BFS 我们可以利用队列来层序遍历整棵二叉树。为了实现利用队列遍历二叉树,我们在每次循环的开始是统计当前队列中的个数而后进行循环。在每次的循环当中,我们将当前节点的左右子节点加入队列中并在下一次循环中进行遍历。其中

leetcode-91-解码方法-爱代码爱编程

1、动态规划法 我们可以使用动态规划法来解决本问题。我们利用数组 d p

leetcode-2011-执行操作后的变量值-爱代码爱编程

1、遍历 我们可以遍历字符串数组中的每一个字符串,从而判断我们对当前值时需要加还是减。考虑到题目中对于先操作还是后操作没有要求,我们可以直接根据每个字符串的第二位进行判断即可。 class Solution { pu

leetcode-1799- n 次操作后的最大分数和-爱代码爱编程

1、状态压缩+动态规划 我们可以使用动态规划来解决问题,我们利用数组 d p

leetcode-1753-移除石子的最大得分-爱代码爱编程

1、堆 我们可以维护一个大顶堆,其中储存了三个石子堆中石子的个数。为了确保我们的分数尽可能大,我们每次都需要从最大的两个堆中取出石子。因此我们不断循环,每次都从当前最大的堆中取出石子。值得注意的是,为了确保能够发现游戏

leetcode 11.盛最多水的容器-爱代码爱编程

盛最多水的容器 思路1:双指针 谁小谁移动,渴望更大 class Solution { public: int maxArea(vector<int>& height) { int r