• ## leecode

千次阅读 2020-06-28 23:52:12
代码： class Solution { /** * @param Integer[] $height * @return Integer */ function maxArea($height) { $len = count($height); $indexLen =$len - 1; $maxContainer = 0;...$i &l..


代码：

class Solution {

/**
* @param Integer[] $height * @return Integer */ function maxArea($height) {
$len = count($height);
$indexLen =$len - 1;
$maxContainer = 0; for($i = 0,$j =$indexLen;$i <$j;){
$n1 = [$i,$height[$i]];
$n2 = [$j,$height[$j]];
$container =$this->getContainer($n1,$n2);
if($container >$maxContainer){
$maxContainer =$container;
}
$height[$i] <= $height[$j] ? $i++ :$j --;
}
return $maxContainer; } function getContainer($n1,$n2){ return ($n2[0] -  $n1[0]) * min($n1[1],\$n2[1]);
}
}

展开全文
• You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a link

You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8

/**
* struct ListNode {
*     int val;
*     ListNode *next;
*     ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {
ListNode * result =new ListNode(0) ;
ListNode  *pNode = NULL;
ListNode  *pCurrent = result;
int value = 0;
int data = 0;
int val1 = 0;
int val2 = 0;
while(l1||l2)
{
val1 = l1?l1->val:0;
val2 = l2 ? l2->val:0;
data = val1+val2+data;
pNode = new ListNode(data%10);
data = data/10;
pCurrent->next = pNode;
pCurrent = pNode;
if(l1)
l1 = l1->next;
if(l2)
l2 = l2->next;
}

if(data>0)
{
pNode = new ListNode(data);
pCurrent->next = pNode;
}
return result->next;
}
};

展开全文
• Leecode
• leecode leecode练习
• leecode刷题
• 利码 Leecode的代码和注释
• Leecode2021
• LeeCode leecode questions' answers start to learn coding and a record of finishing leecode questions copy from leecode user noone_ 刷题顺序很重要吗？ 重要。按照题目类别结构化地刷题的速度不仅更快，而且...
• 推前LeeCode_example 参考 1. 二和 给定一个整数数组，返回两个数字的索引，使它们相加为特定目标。 您可以假设每个输入都只有一个解决方案，并且您不能两次使用相同的元素。 示例：给定 nums = [2, 7, 11, 15], ...
• 利码 如果您想成为一名优秀的程序员，请总结我在leecode方面的经验，有必要多做一些练习！
• leecode is a very good C++ book
• leecode 第66题 数组的加一 leecode 第2题 链表的相加
leecode 第66题 数组的加一

leecode 第2题 链表的相加

展开全文
• 刚请完探亲假回来上班，打开电脑发现代码能力一塌糊涂，因此想刷刷leecode 这个月目的是刷30道简单与三十道中等难度的leecode 给你一个 32 位的有符号整数 x ，返回将 x 中的数字部分反转后的结果。 如果反转后...
刚请完探亲假回来上班，打开电脑发现代码能力一塌糊涂，因此想刷刷leecode 这个月目的是刷30道简单与三十道中等难度的leecode

给你一个 32 位的有符号整数 x ，返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ，就返回 0。

假设环境不允许存储 64 位整数（有符号或无符号）。

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。

题目如上，解析如下：

class Solution {
public:
int reverse(int x) {
int rev = 0 ;

while (x/10)
{
rev += (x%10) ;
if (rev > INT_MAX/10 || rev < INT_MIN /10)
return 0 ;
rev *= 10 ;
x = x/10 ;
}
rev += x ;
return rev ;
}
};

这道题有几个点需要注意：

著名有2的32次方的上下限，因此需要考虑数的约束。那能不能直接判断 rev <INT_MAX 或者 rev > INT_MIN 呢? 答案不可以，因为如果超了，就说明这些数本身就不合法，为了能够合法的判断，可以换一种思路， 对未乘的rev 与INT_MAX /10,INT_MIN/10 相比较。
32位是int的内存空间大小，64 是long内存空间大小。
INT_MAX ,INT_MIN 分别代表int中最大有符号整形数。

展开全文
• Leecode
• Leecode_每天
• Leecode是个好东西，其中各类招聘面试题比较丰富，也很能通过做题锻炼思维 类似于各类平台刷题的OJ有很多，不过Leecode更有意思 Leecode传送门：https://leetcode-cn.com/problemset/all/ 国内公开OJ中杭电的也比较...
• Leecode--要约 关于Leecode上剑指优惠的全部题解以及思路
• Leecode20：有效括号 下面展示一些 代码。 直观是使用栈，但是也有比较独特的方法。 // An highlighted block class Solution { public boolean isValid(String s) { if (s.length() % 2 != 0) { return false; ...
• Leecode23 使用优先级队列和分治法解决 class Solution { public static void main(String[] args) { Solution s = new Solution(); ListNode l11 = new ListNode(1); ListNode l12 = new ListNode(4); ...
• 记录一下刷leecode的我的答案 可能会比较浅显希望各位路过的能指点指点一起进步 1、给定一个整数数组和一个目标值，找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案，且同样的元素不能被...
• Leecode128 使用hashset解决 空间复杂度O(n)，额外使用了hashset存储 事件复杂度O(n)，内层循环中数组里每个数仅仅遍历了一次 import java.util.HashSet; public class Solution2 { public static void main...
• Leecode135 使用双数组，分别对左右做局部最优，取较大值 import java.util.Arrays; /* 使用贪心算法:每个数左右两边各自局部最优，取两者的较大值，获得的就是全局最优 */ public class Solution2 { public ...
• Leecode71 path在split之后的数组中有空字符串，大坑 import java.util.Stack; //存在空串 public class Solution { public static void main(String[] args) { // Stack<String> stack = new Stack<>...
• Leecode
• #LeeCode EveryDay (Java) 1 147.对链表进行插入排序 2020.11.20
• leecode985 题目 给出一个整数数组 A 和一个查询数组 queries。 对于第 i 次查询，有 val = queries[i][0], index = queries[i][1]，我们会把 val 加到 A[index] 上。然后，第 i 次查询的答案是 A 中偶数值的和。 ...

...