文章目录前言轮转数组😎寻找奇数😎数组中数字出现的次数😎结尾前言刷题笔记第一道题跟后面没啥关系但是后两道关系比较明显最后一道题看不懂的朋友请多看看倒数第二道题轮转数组😎连接一个规律=-=而非思想,叫三趟逆置法想要旋转数组元素的前K个只需要先逆置N-K项再逆置K项再整体逆置首先说一下旋转和逆置的区别以数组:1,2,3,4,5,6,7,8为例旋转3次可以理解就成为4,5,6,7,8,1,2,3而逆置前三个元素就是3,2,1,4,5,6,7,8逆置前四个元素就是4,3,2,1,5,6,7,8可以理解为逆置就是将要逆置的元素首位交换位置而旋转就是将要旋转位数的元素前移(右旋转)或后移(左旋转)其他元素向
目录题目思路动态规划题目来源392.判断子序列题目思路这道算是编辑距离的入门题目,因为从题意中我们也可以发现,只需要计算删除的情况,不用考虑增加和替换的情况。动态规划1.确定dp数组(dptable)以及下标的含义dp[i][j]表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。注意这里是判断s是否为t的子序列。即t的长度是大于等于s的。2.确定递推公式在确定递推公式的时候,首先要考虑如下两种操作if(s[i-1]==t[j-1])t中找到了一个字符在s中也出现了if(s[i-1]!=t[j-1])相当于t要删除元素,继续匹配if(s[i-1
CfRound928(Div.4)-C.VladandaSumofSumofDigitsPleasenotethatthetimelimitforthisproblemisonly0.5secondspertest.Vladislavwrotetheintegersfrom 1 to n,inclusive,ontheboard.Thenhereplacedeachintegerwiththesumofitsdigits.Whatisthesumofthenumbersontheboardnow?Forexample,if n=12=12 theninitiallythenumbersonth
华为OD清单查看地址:blog.csdn.net/hihell/category_12199275.html本篇题解:最多获得的短信条数题目某云短信厂商,为庆祝国庆,推出充值优惠活动。现在给出客户预算,和优惠售价序列,求最多可获得的短信总条数。输入第一行客户预算M,其中0≤MMM≤10610^6
1686.石子游戏VIAlice和Bob轮流玩一个游戏,Alice先手。一堆石子里总共有n个石子,轮到某个玩家时,他可以移出一个石子并得到这个石子的价值。Alice和Bob对石子价值有不一样的的评判标准。双方都知道对方的评判标准。给你两个长度为n的整数数组aliceValues和bobValues。aliceValues[i]和bobValues[i]分别表示Alice和Bob认为第i个石子的价值。所有石子都被取完后,得分较高的人为胜者。如果两个玩家得分相同,那么为平局。两位玩家都会采用最优策略进行游戏。请你推断游戏的结果,用如下的方式表示:如果Alice赢,返回1。如果Bob赢,返回-1。如
目录一、100222. 三角形类型II1、原题链接2、题目描述3、思路分析4、代码详解二、100194. 人员站位的方案数I1、原题链接2、题目描述3、思路分析4、代码详解三、100183. 最大好子数组和1、原题链接2、题目描述3、思路分析4、代码详解四、100193. 人员站位的方案数II1、原题链接2、题目描述3、思路分析4、代码详解一、100222. 三角形类型II1、原题链接三角形类型II-力扣(LeetCode)竞赛2、题目描述给你一个下标从 0 开始长度为 3 的整数数组 nums ,需要用它们来构造三角形。如果一个三角形的所有边长度相等,那么这个三角形称为 equilatera
题目描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。一、JAVA解法classSolution{publicint[]twoSum(int[]nums,inttarget){Mapmap=newHashMap();for(inti=0,j=nums.
【寸铁的刷题笔记】图论、bfs、dfs大家好我是寸铁👊金三银四,图论基础结合bfs、dfs是必考的知识点✨快跟着寸铁刷起来!面试顺利上岸👋喜欢的小伙伴可以点点关注💝🌞详见如下专栏🌞🍀🍀🍀寸铁的刷题笔记🍀🍀🍀200.岛屿数量考点递归、dfs思路思路:遍历二维数组,遇到陆地则计数器加1然后,向该陆地上、下、左、右四个方向进行搜索。遇到边界则停止搜索,如果搜索到的网格为陆地,则说明该网格和遍历到的陆地连通。同时,把该搜索到的陆地'1',置为海洋'0'由于之前遍历二维数组时遇到陆地时计数器加1,由于连通,算作1个岛屿。这样就避免下次遍历二维数组时重复遍历陆地,导致岛屿数量多算了。代码classSolu
大家好,我是大唐,刚刷完了几道经典的leetcode题,今天给大家分享一道leetcode上面的二分查找经典题型---x的平方根,我们往下看。题目描述给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。注意:不允许使用任何内置指数函数和算符,例如 pow(x,0.5) 或者 x**0.5 。示例求解方法这道问题要求非负整数x的平方根。如果遇到平方根不是整数的情况呢?只取整数部分。例如,输入x=8,输出为2。8的平方根也就是target值,是小数2.82842…。2是小于target的元素中、最接近target的元素。因此,这
目录方法一:双指针法 方法二:动态规划方法三:单调栈42.接雨水-力扣(LeetCode) 黑色的是柱子,蓝色的是雨水,我们先来观察一下雨水的分布情况:雨水落在凹槽之间,在一个凹槽的左右都会有两个柱子,两个柱子高度可能相同也可能不同,柱子的高低决定了凹槽的雨水的高度,雨水的高度等于两个柱子较低的高度。方法一:双指针法时间复杂度:O(N^2);空间复杂度:O(1);缺点:会超时;思想:统计各个所在位置的左边最高高度和右边最高位置(第一个和最后一个柱子所在位置不用统计,他们不可能会接收雨水),然后算出各个位置雨水面积(两边的最高高度的较小值-当前位置的柱子的面积),最后将各个位置的面积相加得到总面