菜籽爱编程 IP属地:广东省

认证科技领域优质作者

文章 关注 粉丝 访问 贡献
 
共 64 篇文章
显示摘要每页显示  条
先固定一个数,微调左右指针指向的元素,计算三个索引上的数之和,这里要加个比较,判断当前和与目标值之间的差值是否比旧的结果值与目标值之间的差值更小,如果更小说明该和更接近目标值,要对结果进行更新。
长度满足要求再对数组进行排序,然后遍历这个数组,固定第一个数,让左指针指向该固定数的下一个数,而让右指针指向数组最后一个数,计数三者之和,满足条件则加入列表。
输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。输入:nums = [3,2,4], target = 6输出:[1,2]示例 3:利用哈希表存储遍历过的值以及其对应的下标值,每次遍历到位置 i 的时候,查找哈希表里是否存在 target - nums[i] ,若存在,则说明这两个值的和为 target ,直接返回位置 i 以及 key =...
LeetCode 739.每日温度(中等)题目描述:首先,我们创建一个栈作为单调栈,因为题目要求的是升温的天数,而不是升温后的温度,因此栈中应该存储下标,而非温度。然后从左向右遍历每日温度,若栈为空或者当日温度小于等于栈顶温度则直接入栈。否则,若当日温度大于栈顶温度,说明栈顶元素的升温日已经找到了,则将栈顶元素出栈,计算其与当日相差...
LeetCode 20.有效的括号(简单)题目描述:有效字符串需满足:左括号必须用相同类型的右括号闭合。我们遍历整个字符串,获取字符串中的字符,如果是左括号,我们就把相应的右括号压入栈中,如果遇到右括号,则检查其是否与栈顶的括号相同,不同则说明出现了不匹配的括号;当遇到右括号时,检查栈发现它已经空了,则说明当前右括号没有匹配的左括号...
当然如果最小值栈的栈顶元素大于等于要压入的元素时,就要更新最小值栈,把该元素即新的最小值元素压入最小值栈。public void pop() { // 当最小值栈非空 且 最小值栈栈顶元素与基本栈栈顶元素相同 if (!minStack.empty() && minStack.peek().equals(stack.peek())) { // 先弹出最小值栈栈顶元素 ...
LeetCode 232.用栈实现队列(简单)题目描述:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;当然,每次执行获取队列头元素或者队列头元素要出队列操作前,都需要检查输出栈是否为空,如果为空,就需要把输入栈的所有元素先翻转压入输出...
数组 arr 是 [0, 1, ..., arr.length - 1] 的一种排列,我们将这个数组分割成几个“块”,并将这些块分别进行排序。arr[i] 是 [0, 1, ..., arr.length - 1] 的一种排列。因为题目给定数组 arr 是 [0, 1, ..., arr.length - 1] 的一种排列,所以我们可以从左往右检查局部序列,比如局部序列 [0, 1, ..., n] ,看看局部序列中最大的数是不是 n ,...
LeetCode 240.搜索二维矩阵II(中等)题目描述:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。m == matrix.lengthn == matrix[i].length1 <= n, m <= 300-每行的所有元素从左到右升序排列每列的所有元素从上到下升序排列-如果最终移动到左下角时仍不等于目标值,则说明目标值不存在于矩阵中。如果最终移动到右上角...
例如,我们先把元素 11 存起来,然后把元素 5 放到元素 11 的位置上,接着把元素 15 放到元素 5 的位置上,把元素 16 放到原来元素 15 的位置上,最后把存起来的元素 11 放到原来元素 16 的位置上,这样,四个元素就互换完毕。循环交换完外面的矩阵元素后,再缩小矩阵,在内层矩阵继续执行四元素互换操作,最终就能得到顺时针旋转 90 度的矩阵...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部