草庐IT

leetcode-cn

全部标签

【刷题】Leetcode 415 字符串相加 和 34 字符串相乘

刷题Leetcode415字符串相加题目描述思路一(模拟大法版!!!)Leetcode34字符串相乘题目描述思路一(模拟大法版)Thanks♪(・ω・)ノ谢谢阅读!!!下一篇文章见!!!Leetcode415字符串相加题目描述逻辑很简单,对应位置相加,并进位即可。思路一(模拟大法版!!!)本题我们只需要对两个大整数模拟「竖式加法」的过程。竖式加法就是我们平常学习生活中常用的对两个整数相加的方法,回想一下我们在纸上对两个整数相加的操作,是不是将相同数位对齐,从低到高逐位相加,如果当前位和超过10,则向高位进一位?因此我们只要将这个过程用代码写出来即可。classSolution{public:s

【leetcode】 剑指 Offer学习计划(java版本含注释)(下)

目录前言第十六天(排序)剑指Offer45.把数组排成最小的数(中等)剑指Offer61.扑克牌中的顺子(简单)第十七天(排序)剑指Offer40.最小的k个数(简单)第十八天(搜索与回溯算法)剑指Offer55-I.二叉树的深度(简单)剑指Offer55-II.平衡二叉树(简单)*第十九天(搜索与回溯算法)剑指Offer64.求1+2+…+n(中等)剑指Offer68-I.二叉搜索树的最近公共祖先(简单)剑指Offer68-II.二叉树的最近公共祖先(简单)*第二十天(分治算法)剑指Offer07.重建二叉树(中等)*第二十一天(位运算)剑指Offer15.二进制中1的个数(简单)剑指Off

LeetCode-392. 判断子序列

目录题目思路动态规划题目来源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

LeetCode 每日一题 Day 62 - 75

1686.石子游戏VIAlice和Bob轮流玩一个游戏,Alice先手。一堆石子里总共有n个石子,轮到某个玩家时,他可以移出一个石子并得到这个石子的价值。Alice和Bob对石子价值有不一样的的评判标准。双方都知道对方的评判标准。给你两个长度为n的整数数组aliceValues和bobValues。aliceValues[i]和bobValues[i]分别表示Alice和Bob认为第i个石子的价值。所有石子都被取完后,得分较高的人为胜者。如果两个玩家得分相同,那么为平局。两位玩家都会采用最优策略进行游戏。请你推断游戏的结果,用如下的方式表示:如果Alice赢,返回1。如果Bob赢,返回-1。如

LeetCode第 123 场双周赛个人题解

目录一、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

【刷透Leetcode热题100】1.两数之和

题目描述给定一个整数数组 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.

leetcode69---x 的平方根

大家好,我是大唐,刚刷完了几道经典的leetcode题,今天给大家分享一道leetcode上面的二分查找经典题型---x的平方根,我们往下看。题目描述给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。注意:不允许使用任何内置指数函数和算符,例如 pow(x,0.5) 或者 x**0.5 。示例求解方法这道问题要求非负整数x的平方根。如果遇到平方根不是整数的情况呢?只取整数部分。例如,输入x=8,输出为2。8的平方根也就是target值,是小数2.82842…。2是小于target的元素中、最接近target的元素。因此,这

leetcode--接雨水(双指针法,动态规划,单调栈)

目录方法一:双指针法 方法二:动态规划方法三:单调栈42.接雨水-力扣(LeetCode) 黑色的是柱子,蓝色的是雨水,我们先来观察一下雨水的分布情况:雨水落在凹槽之间,在一个凹槽的左右都会有两个柱子,两个柱子高度可能相同也可能不同,柱子的高低决定了凹槽的雨水的高度,雨水的高度等于两个柱子较低的高度。方法一:双指针法时间复杂度:O(N^2);空间复杂度:O(1);缺点:会超时;思想:统计各个所在位置的左边最高高度和右边最高位置(第一个和最后一个柱子所在位置不用统计,他们不可能会接收雨水),然后算出各个位置雨水面积(两边的最高高度的较小值-当前位置的柱子的面积),最后将各个位置的面积相加得到总面

代码随想录算法训练营第1天|LeetCode707.二分查找、LeetCode27.移除元素

代码随想录算法训练营第1天|LeetCode707.二分查找、LeetCode27.移除元素1、数组理论基础定义:数组是存放在连续内存空间上的相同类型数据的集合。获取:下标索引的方式。从0开始。删除/增添:需要移动其他元素的地址。不能删除,只能覆盖。vectorVSarray:vector是容器,底层实现是arrayJava中没有指针,且不对程序员暴露元素地址。2、LeetCode707.二分查找题目链接:https://leetcode.cn/problems/binary-search/文章讲解:https://programmercarl.com/0704.%E4%BA%8C%E5%88

leetcode刷题记录12(2023-07-02)【完全平方数(动态规划) | 移动零(冒泡排序) | 寻找重复数 | 删除无效的括号(暴力搜索+剪枝)】

279.完全平方数给你一个整数n,返回和为n的完全平方数的最少数量。完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9和16都是完全平方数,而3和11不是。示例1:输入:n=12输出:3解释:12=4+4+4示例2:输入:n=13输出:2解释:13=4+9提示:11n104这道题采用动态规划进行求解,不能用贪心去做,否则结果是错误的,反例就是示例1,如果用贪心,12=9+1+1+1,需要4个数。另外一种方法是利用了一个数学定理(四平方和定理),见https://leetcode.cn/problems/perfect-squares/solut