代码编织梦想

数据结构与算法(数组,栈,队列,链表,哈希表,递归算法,二叉搜索树,经典排序算法,常见查找算法,动态规划算法)-爱代码爱编程

文章目录 Java全端课程之数据结构和算法一、开篇闲聊1.1 前置知识1.2 为什么要学习算法1.3 算法-大厂面试的必备主菜1.4 刷题标准1.5 大厂面试常见数据结构题目(基础)1.6 学习算法好处

数据结构与算法(数组,栈,队列,链表,哈希表,搜索算法,排序算法,查找算法,策略算法,递归算法,二叉搜索树bst,动态规划算法)-爱代码爱编程

文章目录 1 课程介绍1.1 前置知识1.2 为什么要学习算法1.3 大厂面试常见数据结构题目(基础)1.4 数据结构和算法的关系 2 数据结构2.1 数据结构概述2.1.1 数据结构是什么2.1.2 数

代码随想录算法训练营day07 | 哈希表part02-爱代码爱编程

Day06 哈希表part02 四数相加II哈希法 赎金信暴力枚举解法哈希法 三数之和双指针法 当我们要使用集合来解决哈希问题的时候,优先使用unordered_set,因为它的

day17_集合与数据结构(链表,栈和队列,map,collections工具类,二叉树,哈希表)-爱代码爱编程

文章目录 Day17 集合与数据结构学习目标1 数据结构2 动态数组2.1 动态数组的特点2.2 自定义动态数组2.3 ArrayList与Vector的区别?2.4 ArrayList部分源码分析1、JDK1

代码随想录算法训练营day 6|leetcode242 有效的字母异位词、leetcode349 两个数组的交集、leetcode202 快乐数、leetcode1 两数之和-爱代码爱编程

今天开启哈希表相关内容,哈希表理论基础可见文章 LeetCode242 有效的字母异位词 题目链接:有效的字母异位词 思路 本题只涉及到26个小写字母,可以用数组做哈希表,a~z分别代表hash[0]~hash[25],初值为0。①先遍历字符串s,将对应的字母计数加到哈希表对应位置;②遍历字符串t,将对应字母计数在哈希表中减去;③遍历哈希

代码随想录算法训练营day7| 454.四数相加 ii 383.赎金信 15.三数之和-爱代码爱编程

454.四数相加 II 454. 四数相加 II - 力扣(LeetCode) 这道题的思路可以参照二数之和的思路,不过这道题需要先把两个数组的加和作为一组,另外两个数组的加和作为一组,再参照两数之和的思路。 用map

【leetcode】15. 三数之和(中等)——代码随想录算法训练营day07-爱代码爱编程

题目链接:15. 三数之和 题目描述 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的

【leetcode】242. 有效的字母异位词(简单)——代码随想录算法训练营day06-爱代码爱编程

题目链接:242. 有效的字母异位词 题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram"输出: true 示例 2: 输入:

【leetcode】349. 两个数组的交集(简单)——代码随想录算法训练营day06-爱代码爱编程

题目链接:349. 两个数组的交集 题目描述 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,

【leetcode】454. 四数相加 ii(中等)——代码随想录算法训练营day07-爱代码爱编程

题目链接:454. 四数相加 II 题目描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < nnums1[i] + nums2[j] + nums3[k] + nums4[l] == 0 示例 1:

【leetcode】383. 赎金信(简单)——代码随想录算法训练营day07-爱代码爱编程

题目链接:383. 赎金信 题目描述 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1: 输入:ransomNote

【leetcode】202. 快乐数(简单)——代码随想录算法训练营day06-爱代码爱编程

题目链接:202. 快乐数 题目描述 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么这个数就是快乐数。 如果 n 是 快乐数 就返回 true ;不是,则返回 

leetcode454. 四数相加 ii-爱代码爱编程

454. 四数相加 II =给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l &l

leetcode1. 两数之和-爱代码爱编程

1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元

leetcode做题笔记2342. 数位和相等数对的最大和-爱代码爱编程

给你一个下标从 0 开始的数组 nums ,数组中的元素都是 正 整数。请你选出两个下标 i 和 j(i != j),且 nums[i] 的数位和 与  nums[j] 的数位和相等。 请你找出所有满足条件的下标 i 和 j ,找出并返回 nums[i] + nums[j] 可以得到的 最大值 。 示例 1: 输入:nums = [18,43,3

代码随想录刷题题day6-爱代码爱编程

刷题的第六天,希望自己能够不断坚持下去,迎来蜕变。😀😀😀 刷题语言:C++ / Python 哈希表理论基础见代码随想录刷题题Day5 Day6 任务 ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ●

代码随想录算法训练营day7|哈希表02-爱代码爱编程

@代码随想录@程序员Carl 454.四数相加II 454. 四数相加 II - 力扣(LeetCode) 代码随想录 (programmercarl.com) (四数相加) 二刷还是没有写出来,卡在了细节上。下面的代码中标出了我的问题。 思路:将第一个数组和第二个数组每个数的和作为key存在unorderd_map里,讲每个和出现的次

哈希表-爱代码爱编程

1、什么是哈希表? 哈希表也叫散列表,哈希表是根据关键码值(key value)来直接访问的一种数据结构,也就是将关键码值(key value)通过一种映射关系映射到表中的一个位置来加快查找的速度,这种映射关系称之为哈希函数或者散列函数,存放记录的数组称之为哈希表。 哈希表采用的是一种转换思想,其中一个中要的概念是如何将「Key」转换成数组下标?

【力扣每日一题】力扣447回旋镖的数量-爱代码爱编程

题目来源 力扣447回旋镖的数量 题目描述 给定平面上 n 对 互不相同 的点 points ,其中 points[i] = [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i 和 k 之间的欧式距离相等(需要考虑元组的吮吸)。 返回平面上所有回旋镖的数量。 示例 示例 1: 输入:

算法优化:前缀和+哈希表-爱代码爱编程

今天在leetcode上写到6952. 统计趣味子数组的数目这道题的时候出现了超时问题,由此学习了前缀和+哈希表的方法。 目前看到与此知识点相关的题目有如下: 560.和为k的子数组 ,非常经典的前缀和+哈希表,可以从这一道题入手。6952. 统计趣味子数组的数目,这道题比上一到稍微难一点,但是不至于困难。 下面介绍一下 前缀和+哈希表