Sun, 09 Dec 2018 16:35:15 +0000
  • A (Algotithm) 至少做一个leetcode的算法题
  • R (Review) 阅读并点评一篇英文的技术文章
  • T (Tip) 学习一个技术技巧
  • S (Share) 分享一篇有观点和思考的技术文章

每周一次,坚持一年

Algorithm

Description Container With Most Water

Solution

/**
 * https://leetcode.com/problems/container-with-most-water/
 * @param {number[]} height
 * @return {number}
 */
var maxArea = function(height) {
    if (height <= 1) return 0;
    var res = 0;
    var currentHeight;
    var index1 = 0;
    var index2 = height.length - 1;
    var distance = index2 - index1;
    while(true) {
        if (index1 >= height.length) {
            break;
        }
        if (index2 <= index1) {
            break;
        }

        distance = index2 - index1;

        if (height[index1] < height[index2]) {
            currentHeight = height[index1];
            index1++;
        } else {
            currentHeight = height[index2]
            index2--;
        }
        var tmpRes = currentHeight * distance;
        if (res < tmpRes) {
            res = tmpRes;
        }
    }
    // algorithm 2
    // for (var index1 = 0; index1 < height.length; index1++) {
    //     for (var index2 = height.length; index2 > index1; index2--) {
    //         if (height[index1] < height[index2]) {
    //             currentHeight = height[index1];
    //         } else {
    //             currentHeight = height[index2]
    //         }
    //         distance = index2 - index1;
    //         var tmpRes = currentHeight * distance;
    //         if (res < tmpRes) {
    //             res = tmpRes;
    //         }
    //     }
    // }
    return res;
};

var arr;
arr = [1,8,6,2,5,4,8,3,7];
console.log('maxArea', maxArea(arr), 49);
arr = []
console.log('maxArea', maxArea(arr));
arr = [1];
console.log('maxArea', maxArea(arr), 0);

arr = [1,8,6,2,5,4,8,3,7, 8];
console.log('maxArea', maxArea(arr), 64);
arr = [2,3,4,5,18,17,6]
console.log('maxArea', maxArea(arr), 17);

Review

5.4. Numeric Types — int, float, long, complex https://docs.python.org/2/library/stdtypes.html#typesnumeric

数字类型

这则文档介绍了 Python 中的数字类型:整数、浮点数、长整型和复数。

Python 标准的 float 就是 C 的 double 类型。基本的加减乘除都是有的,取整,取绝对值变更数字类型也不在话下。

Tip

Python3 解析 Json 直接就是 json.dumps,但是如果遇到数字是 float32 的情况的时候,Python 不会自己去动态转类型,会报错 'float32' is not JSON serializable。这个时候可以解决的方式有,str(float32Number) 或者 float(float32Number) 等。

Share

Hackathon 有感而发

https://lincolnge.github.io/programming/2018/12/10/hackathon.html



blog comments powered by Disqus