草庐IT

leetcode:求两数之和-easy

全部标签

LeetCode:217(Python)—— 存在重复元素(简单)

存在重复元素概述:给你一个整数数组nums。如果任一值在数组中出现至少两次,返回true;如果数组中每个元素互不相同,返回false。输入:nums=[1,2,3,1]输出:true输入:nums=[1,2,3,4]输出:false输入:nums=[1,1,1,3,3,4,3,2,4,2]输出:true方法一:Counter思路:用Counter方法统计出现的次数,然后返回最大值进行判断即可。#Counter方法#用Counter方法统计出现的次数,然后返回最大值进行判断即可。classSolution:defcontainsDuplicate(self,nums:List[int])->bo

Leetcode.1125 最小的必要团队

题目链接Leetcode.1125最小的必要团队Rating:2251题目描述作为项目经理,你规划了一份需求的技能清单req_skills,并打算从备选人员名单people中选出些人组成一个「必要团队」(编号为i的备选人员people[i]含有一份该备选人员掌握的技能列表)。所谓「必要团队」,就是在这个团队中,对于所需求的技能列表req_skills中列出的每项技能,团队中至少有一名成员已经掌握。可以用每个人的编号来表示团队中的成员:例如,团队team=[0,1,3]表示掌握技能分别为people[0],people[1],和people[3]的备选人员。请你返回任一规模最小的必要团队,团队成

Leetcode笔记3

15.三数之和题目链接排序+双指针(C++)排序,方便去重固定一个数字nums[k],使用双指针i,j。i从k+1开始,j从n-1开始不断向中间逼近直到i>=j,然后k++。判断nums[i]+nums[j]+nums[k]是否等于0,大于0或者小于0。classSolution{public:vector>threeSum(vector&nums){intk=0,n=nums.size();vector>ans;sort(nums.begin(),nums.end());if(ntemp(3);while(ki&&nums[j]==nums[j-1]){j--;}i++;j--;}elsei

代码随想录算法训练营第三天 | LeetCode 203.移除链表元素 、​LeetCode 707.设计链表、LeetCode 206.反转链表

LeetCode 203.移除链表元素classSolution{public:ListNode*removeElements(ListNode*head,intval){//删除头结点while(head!=NULL&&head->val==val){//注意这里不是ifListNode*tmp=head;head=head->next;deletetmp;}//删除非头结点ListNode*cur=head;while(cur!=NULL&&cur->next!=NULL){if(cur->next->val==val){ListNode*tmp=cur->next;cur->next=c

Leetcode.1654 到家的最少跳跃次数

题目链接Leetcode.1654到家的最少跳跃次数Rating:2124题目描述有一只跳蚤的家在数轴上的位置x处。请你帮助它从位置0出发,到达它的家。跳蚤跳跃的规则如下:它可以往前跳恰好a个位置(即往右跳)。它可以往后跳恰好b个位置(即往左跳)。它不能连续往后跳2次。它不能跳到任何forbidden数组中的位置。跳蚤可以往前跳超过它的家的位置,但是它不能跳到负整数的位置。给你一个整数数组forbidden,其中forbidden[i]是跳蚤不能跳到的位置,同时给你整数a,b和x,请你返回跳蚤到家的最少跳跃次数。如果没有恰好到达x的可行方案,请你返回-1。示例1:输入:forbidden=[1

Leetcode笔记2

8.字符串转换整数(atoi)题目链接自动机思路字符串处理的题目往往涉及复杂的流程以及条件情况,如果直接上手写程序,一不小心就会写出极其臃肿的代码。因此,为了有条理地分析每个输入字符的处理方法,我们可以使用自动机这个概念:我们的程序在每个时刻有一个状态s,每次从序列中输入一个字符c,并根据字符c转移到下一个状态s'。这样,我们只需要建立一个覆盖所有情况的从s与c映射到s'的表格即可解决题目中的问题。算法本题可以建立如下图所示的自动机:image.png状态表(略)接下来编程部分就非常简单了:我们只需要把状态转换表抄进代码即可。另外自动机也需要记录当前已经输入的数字,只要在s'为in_numbe

C# 应用程序设置 : Is there a easy way to put a collection into <appSetting>

我试过了和System.Configuration.ConfigurationManager.AppSettings.GetValues("List");但我只得到最后一个成员。我怎样才能轻松解决这个问题? 最佳答案 我处理过类似的问题,我是用这段代码解决的。希望这对您的问题有所帮助。在这种情况下,列表(类似于我的URLSection)将在web.config中有一个完整的配置部分,然后您可以从该部分获取所有值。我为此创建了三个类:ConfigElement、ConfigElementCollection、WebConfigSect

leetcode刷题之背包问题(01背包)

01背包概念:有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i]weight[i]weight[i],得到的价值是value[i]value[i]value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。方法1:暴力回溯法方法2:动态规划三个物品,物品的重量分别为{1,3,4},物品的价值分别为{15,20,30};背包最大容量为4。(一)二维dp数组确定dp数组以及下标的含义:dp[i][j]dp[i][j]dp[i][j]代表从下标为[0,i]的物品中任意取,放到容量为j的背包里,价值总和最大是多少。确定递推公式不放物品i的最大价值:dp[i

c# - 两个数组的乘积之和(点积)

首先,我知道我的标题可以表述得更好,但是我的数学课太远了,我记不起正确的单词了..我需要做这样的事情(伪c#)int[]digits1=newint[10]{0,1,2,3,4,5,6,7,8,9};int[]digits2=newint[10]{0,1,2,3,4,5,6,7,8,9};intresult=digits1*digits2这将是每个数组的元素[i]的乘积之和。这显然行不通。对更好的标题或解决方案有什么建议吗?编辑澄清:我知道我可以将它们都循环并进行数学运算。基本上我认为有更好的方法可以做到这一点,我纯粹出于个人好奇而寻找它。 最佳答案

LeetCode:376. 摆动序列——说什么贪心和动规~

🍎道阻且长,行则将至。🍓🌻算法,不如说它是一种思考方式🍀算法专栏:👉🏻123一、🌱376.摆动序列题目描述:如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。例如,[1,7,4,9,2,5]是一个摆动序列,因为差值(6,-3,5,-7,3)是正负交替出现的。相反,[1,4,7,2,5]和[1,7,4,5,5]不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。子序列可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始