草庐IT

leetcode:求两数之和-easy

全部标签

【算法与数据结构】718、1143、1035、392、115、LeetCode最长重复子数组+最长公共子序列+不相交的线+判断子序列+不同的子序列

文章目录一、718、最长重复子数组二、1143、最长公共子序列三、1035、不相交的线四、392、判断子序列五、115、不同的子序列六、完整代码所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。一、718、最长重复子数组  思路分析:第一步,动态数组的含义。dp[i][j]dp[i][j]dp[i][j]代表以下标i−1i-1i−1为结尾的nums1,和以下标j−1j-1j−1为结尾的nums2,最长重复子数组长度为dp[i][j]dp[i][j]dp[i][j]。第二步,递推公式。根据dp[i][j]dp[i][j]dp[i][j]的定义,dp[i][

LeetCode 100题目(python版本)待续...

一.哈希1.两数之和题目给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。示例:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。代码classSolution:  deftwoSum(self,nums:List[int],target:int)->List[int]:    hash_map={}    fori,numinenum

算法打卡day03|链表专题01:虚拟头节点使用、单链表查找删除元素、链表设计通过索引(add、delete、get)、使用双指针思路实现链表反转|Leetcode203、707、206

1.基础知识——链表是由指针串联在一起的线性结构分类:(1)单链表:每个节点由数据域与指针域组成{data,next}(2)双链表:每个节点由数据域及指针域(两个指针)组成{data,pre,next}(3)循环链表:节点结构与单链表一致,但是首尾相连存储:内存分布不是连续的链表定义代码※链表优点在于长度不固定,能够实现动态增删,适用于增删频繁但是查询频率比较低的情景Leetcode203.移除链表元素题目链接:https://leetcode.cn/problems/remove-linked-list-elements/description/分析:经典链表操作,主要需要考虑两种场景当前节

【leetcode】622. 设计循环队列(Circular Queue)

文章目录1.怎么设计循环队列?2.数组实现循环队列往期相关文章推荐:1.队列(Queue)2.栈(Stack)之浅谈数组和链表实现栈各自的优缺点3.线性表之链表(LinkedList)4.线性表之顺序表(SequenceList)1.怎么设计循环队列?  循环队列也叫环形队列,可以用数组或循环链表实现,使用场景是在那种只需要固定空间大小,且一直有插入删除的情况。设计循环队列最大的问题是怎么确定队列是空还是满的状态,如果是增加额外变量size记录数据个数,则很容易解决这个问题,不过这里不打算使用size的方式。下面将一步步分析使用数组的方式如何实现,至于循环链表实现队列,看似天然循环,实际还是很

算法沉淀——递归(leetcode真题剖析)

算法沉淀——递归01.汉诺塔问题02.合并两个有序链表03.反转链表04.两两交换链表中的节点05.Pow(x,n)递归是一种通过调用自身的方式来解决问题的算法。在递归算法中,问题被分解为更小的相似子问题,然后通过对这些子问题的解进行组合来解决原始问题。递归算法通常包含两个主要部分:基本情况(BaseCase):定义问题的最小规模,直接解答而不再进行递归。基本情况是递归算法的出口,防止算法陷入无限递归。递归步骤:在问题规模较大时,将问题划分为相似但规模较小的子问题,并通过递归调用解决这些子问题。递归调用自身是递归算法的核心。递归算法在解决许多问题上非常强大,尤其是对于那些可以通过分解为子问题并

EASY-UI实现下拉框

实现效果: html部分:标签管理标签:数据部分: js部分://标签管理选择框Snmpflow_portgroup_select__tagIds('#label_form_tagIds');functionSnmpflow_portgroup_select__tagIds(id){$.ajax({url:'/sdn/portgroup/getPortGroupTag',type:'get',dataType:'json',success:function(json){try{if(json.code=='0000'){varresult=json.data$(id).combobox({da

c++ - 如何在无限轴上找到N个点,使得M个点到它最近的N个点的距离之和最小?

假设在一条路上有N栋房子。我有M个灯杆。鉴于M经过一些研究,我开始知道我必须使用动态规划来解决这个问题。但我不知道如何解决这个问题。 最佳答案 这是一个搜索空间为O(n^2*m)的朴素动态程序。也许其他人知道另一个加速?从代码中的函数f应该可以清楚地看到递归。JavaScript代码://WecancalculatetheseinO(1)//byusingourprefixes(ps)and//theformulaforasubarray,(j,i),//reachingforapoleati:////ps[i]-ps[j-1]-(

抽签小程序,妈妈再也不用担心谁洗碗(分配任务)了,so easy

背景今天谁炒菜,谁洗碗,谁买菜…啊,Boss说用抽签吧,于是有了下图这样存在作弊的问题(记住棍子特征,谁先,谁后抽等等)于是有了这个抽签小程序(当然小程序我一个人控制,我想不想作弊看心情了)简介扫码体验数据服务,存储本项目使用的是微信云开发,云数据库声明个抽签chouqianList集合即可(云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的API进行核心业务开发,即可实现快速上线和迭代)运行前准备(1)注册微信小程序,获取appid,替换本项目project.config.json里的appid(2)开通小程序的云开发具体实现首页首页从上至

LeetCode2560. House Robber IV——二分答案+动态规划

文章目录一、题目二、题解一、题目Thereareseveralconsecutivehousesalongastreet,eachofwhichhassomemoneyinside.Thereisalsoarobber,whowantstostealmoneyfromthehomes,butherefusestostealfromadjacenthomes.Thecapabilityoftherobberisthemaximumamountofmoneyhestealsfromonehouseofallthehousesherobbed.Youaregivenanintegerarraynum

算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习一(leetcode真题剖析)

算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习一01.全排列02.子集03.找出所有子集的异或总和再求和04.全排列II05.电话号码的字母组合01.全排列题目链接:https://leetcode.cn/problems/permutations/给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。示例1:输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例2:输入:nums=[0,1]输出:[[0,1],[1,0]]示例3:输入:nums=[1]输出:[[1]]提示:1