We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
题目:
存在重复
代码:
/** * @param {number[]} nums * @return {boolean} */ var containsDuplicate = function(nums) { let sorted = nums.sort((a, b) => a - b); let ref = sorted[0]; for (let i = 1, len = nums.length; i < len; i++) { if (sorted[i] === ref) return true; ref = sorted[i]; } return false; };
思路: 先快排,后遍历。快排时间复杂度 O(log2n),遍历时间复杂度 O(n), 又因为需要复制一份避免改变原来的数组,所以总的时间复杂度为 O(log2n) + O(n),空间复杂度为 O(n)
对比: 与最高分对比: 本代码运行 18 个测试用例花费约 168ms,平均一个测试用例约 9ms 最高分代码运行 18 个测试用例花费约 120ms,平均一个测试用例约 7ms 注:两份代码都在本机上运行(不同机器性能不同)
/** * @param {number[]} nums * @return {boolean} */ var containsDuplicate = function(nums) { var obj = {}, len = nums.length; for(var i = 0;i < len;i++){ if(!obj[nums[i]]){ obj[nums[i]]=1; }else{ return true; } } return false; };
利用了 JavaScript 原生对象,它使用哈希值进行索引,时间复杂度为 O(1), 又因为需要一个对象来做缓存,所以整体时间复杂度为 O(n),空间复杂度为 O(n)
indutny/node-ip 推荐来自:Get local IP address in node.js
sshpass -p '密码' rsync -av -e ssh --exclude='要排除的文件或文件夹' 要复制的文件或文件夹(支持 glub 通配符) 用户名@地址:目标位置
在程序加入组播时, socket.addMembership 的第二个参数指定接收网卡,如:
socket.addMembership
socket.addMembership(组播地址, '192.168.116.32')
阅读: You should never ever run directly against Node.js in production. Maybe.
点评: 本文首先阐述了直接运行 nodejs 程序的不便之处(如:不能监听文件变化自动重启,或者不能在程序运行出错退出后自动重启), 随后介绍了常见的 nodejs 程序管理工具(如 supervisor 和 nodemon),但文中说在轻型服务器上这两款服务不多见, 一切似乎只是为了引出一个很炫酷的 nodejs 程序管理工具 pm2。
supervisor
nodemon
pm2
分享原创一篇: 一次性理清 Web 攻击与防范
The text was updated successfully, but these errors were encountered:
No branches or pull requests
ARTS 第四周(2019.4.22~2019.4.27)
Algorithm 存在重复
题目:
存在重复
代码:
思路:
先快排,后遍历。快排时间复杂度 O(log2n),遍历时间复杂度 O(n),
又因为需要复制一份避免改变原来的数组,所以总的时间复杂度为 O(log2n) + O(n),空间复杂度为 O(n)
对比:
与最高分对比:
本代码运行 18 个测试用例花费约 168ms,平均一个测试用例约 9ms
最高分代码运行 18 个测试用例花费约 120ms,平均一个测试用例约 7ms
注:两份代码都在本机上运行(不同机器性能不同)
利用了 JavaScript 原生对象,它使用哈希值进行索引,时间复杂度为 O(1),
又因为需要一个对象来做缓存,所以整体时间复杂度为 O(n),空间复杂度为 O(n)
Tip
Tip#1 nodejs 适配不同系统获取 ip
indutny/node-ip
推荐来自:Get local IP address in node.js
Tip#2 linux 命令行复制本地文件/文件夹到远程主机
Tip#3 nodejs 多网卡接收组播消息注意事项
在程序加入组播时,
socket.addMembership
的第二个参数指定接收网卡,如:Review 应不应该直接运行 nodejs 程序在生产环境中
阅读:
You should never ever run directly against Node.js in production. Maybe.
点评:
本文首先阐述了直接运行 nodejs 程序的不便之处(如:不能监听文件变化自动重启,或者不能在程序运行出错退出后自动重启),
随后介绍了常见的 nodejs 程序管理工具(如
supervisor
和nodemon
),但文中说在轻型服务器上这两款服务不多见,一切似乎只是为了引出一个很炫酷的 nodejs 程序管理工具
pm2
。一次性理清 Web 攻击与防范
分享原创一篇:
一次性理清 Web 攻击与防范
The text was updated successfully, but these errors were encountered: