Algorithm
// https://leetcode.com/problems/path-sum-iii/description/
function helper(root, acc, target, hashmap) {
if (root === null) return 0;
let count = 0;
acc += root.val;
if (acc === target) count++;
if (hashmap[acc - target] !== void 0) {
count += hashmap[acc - target];
}
if (hashmap[acc] === void 0) {
hashmap[acc] = 1;
} else {
hashmap[acc] += 1;
}
const res =
count +
helper(root.left, acc, target, hashmap) +
helper(root.right, acc, target, hashmap);
// 这里要注意别忘记了
hashmap[acc] = hashmap[acc] - 1;
return res;
}
var pathSum = function(root, sum) {
// 时间复杂度和空间复杂度都是O(n)
const hashmap = {};
return helper(root, 0, sum, hashmap);
};
review
review:https://mp.weixin.qq.com/s/TjDVKE9_EBuR4oZbW9OOig
主要讲解了webview,到RN,weex,到flutter
Flutter 凌空出世,通过自绘 UI 组件,构建高质量跨平台组件库,解决了此类框架难以解决的双端一致性, Bridge 通信效率等问题。并提供丰富的 Widget 组件,渲染性与 Native UI 相媲美,掀起了大家对下一代跨平台技术探索的热情。同时对国内闲鱼、GCanvas、支付宝、Weex 等都投入了不少研究,通过 Flutter 打造自己的渲染引擎,支持 APP 内业务、小程序等业务。下一代跨平台技术非 Flutter 莫属吗?基于 Flutter 引擎有哪些误区?有木有性能媲美 Flutter 的跨平台渲染技术?本文通过阐述跨平台 UI 渲染引擎的历史,并且实际研究探索构建下一代跨平台 UI 渲染引擎。
tip
平常还是要多关注使用的第三方库或者框架的版本升级信息,这两天做react项目升级,其中react15,升级到react16.8,react部分还好,主要就是createClass,以及不能使用ref="11111"这样的方式,别的没有太多问题,然后router从3到4的时候,大功能上的坑也好改,有个细节的地方,报错也不报,但是一致影响,排错很久,才知道,props.location上,router3的时候,有一个query属性,会把url上,?的后面的给解析成对象,ruoter4却没有了。只有一个search了
share
当有复杂运算,会阻塞当前js线程影响ui渲染的时候,可以使用这个api,Web Worker,Web Worker为Web内容在后台线程中运行脚本提供了一种简单的方法。线程可以执行任务而不干扰用户界面。
https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Workers_API/Using_web_workers