TensorFlow.js 入门并动手编写娱乐版的双色球在线预测

背景

一年前就知道了 TensorFlow js 版的存在,一直没有去玩一下。最近一次偶然的机会,要协助同事处理过一个 TensorFlow.js 相关的 Demo 小程序,要使用 TensorFlow.js 结合小程序的照相机 API 功能,实现微信小程序扫描识别物体功能。该 Demo 主要是由 TensorFlow.js 官方项目 – https://github.com/tensorflow/tfjs-wechat/tree/master/demo/mobilenet 改造而来 继续阅读“TensorFlow.js 入门并动手编写娱乐版的双色球在线预测”

给 vue-easytable 表格增加树节点功能

背景

同事在使用一个 vue 表格组件 vue-easytable 时遇到了点麻烦,现在项目中出现了一个需求就是要给表格增加树节点功能,让表格中的行可以展开与收缩,我们知道使用 element UI / ant-design-vue 中的表格是自带树节点功能的。但是老项目如果要更换组件的话已经是不大可能,于是需要帮忙加上树结构功能 继续阅读“给 vue-easytable 表格增加树节点功能”

参考《leetcode 题解,记录自己的 leetcode 解题之路》练脑 (一)

本人 Leetcode 帐号:
练脑达人
https://leetcode-cn.com/u/liannaodaren/

 知识点快速索引

层次遍历(BFS)(树的基本操作- 遍历) 投票算法  hashmap 存储已经访问过的值 使用栈来代替递归 在push的时候利用辅助栈(双栈) 因数分解 二进制表示、2的幂次方特点 位运算、异或运算、左移一位表示进位 carried变量来实现进位  滑动窗口 递归和动态规划介绍 动态规划一 动态规划二  分治法 使用双指针 dummyHead简化操作  二分查找  二分查找(二)  二分查找(动态 start & end)  回溯法  矩阵旋转操作  类似桶排序  冒泡排序的时间复杂度优化  路径动态规划空间优化  爬楼梯问题介绍  爬楼梯问题   继续阅读“参考《leetcode 题解,记录自己的 leetcode 解题之路》练脑 (一)”

当年练手FreeCodeCamp中的高级算法编码题 [源码]

一、Validate US Telephone Numbers 美国电话号码正则匹配

代码如下:

function telephoneCheck(str) {
  // Good luck!
  var arr = str.match(/1?\s?\d{3}[\s-]?\d{3}[\s-]?\d{4}|1?\s?\(\d{3}\)[\s-]?\d{3}[\s-]?\d{4}/);
  return arr!==null && arr[0].length === str.length;
}


telephoneCheck("555-555-5555");

二、Record Collection 更新对象记录集

代码如下: 继续阅读“当年练手FreeCodeCamp中的高级算法编码题 [源码]”

当年练手FreeCodeCamp中的中级算法编码题 13-21 [源码]

十三、Sum All Odd Fibonacci Numbers 斐波纳契数列求和

思路
循环求和

代码如下:

function sumFibs(num) {
        var pre = 0,
            now = 1,
            next = 1,
            r = 0;
        while (pre <= num) {
            if (pre % 2 === 1) {
                r += pre;
            }
            if (now <= num && now % 2 === 1) {
                r += now;
            }
            pre = next;
            now = now + next;
            next = next + now;
        }
        return r;
}

sumFibs(4);

十四、Sum All Primes 素数求和

思路
1、同上 继续阅读“当年练手FreeCodeCamp中的中级算法编码题 13-21 [源码]”

当年练手FreeCodeCamp中的js基础算法编码题12~16 [源码]

十二、Mutations 确认数组第二个字符串所有字符是否都在第一个串中出现

思路
1、循环第二个串每个字符检查是否在第一个串中出现

代码如下:

function mutation(arr) {
  var len = arr[1].length,
      a = arr[0].toLowerCase(),
      b = arr[1].toLowerCase();
  for(var i=0;i<len;i++){
    if(a.indexOf(b.charAt(i))<0){
      return false;
    }
  }
  return true;
}

mutation(["hello", "hey"]);

十三、Falsy Bouncer 把数组中所有false, null, 0, "", undefined, 和 NaN值元素去掉

思路继续阅读“当年练手FreeCodeCamp中的js基础算法编码题12~16 [源码]”

当年练手FreeCodeCamp中的js基础算法编码题7~11 [源码]

七、Confirm the Ending 确认字符串是否以指定的串结尾

思路
1、主要是用String.prototype.substr()获取尾串是否与目标相等

代码如下:

function confirmEnding(str, target) {
  // "Never give up and good luck will find you."
  // -- Falcor
  if(target.length > str.length){
    return false;
  } else{
    if(str == target || str.substr(str.length- target.length) == target){
      return true;
    }else{
      return false;
    }
  }
}

confirmEnding("Bastian", "n");

八、Repeat a string repeat a string 重复一字符串

思路
比较简单,拼上去就行

代码如下: 继续阅读“当年练手FreeCodeCamp中的js基础算法编码题7~11 [源码]”

当年练手FreeCodeCamp中的js基础算法编码题1~6 [源码]

一、Reverse a String 字符串倒序输出

思路
1、打散成为单字符数组
2、把数组反序
3、把反序后的数组合拼成为结果字符串

代码如下:

function reverseString(str) {
  
  return str.split('').reverse().join('');
}

reverseString("hello");

二、Factorialize a Number 求一个整数的阶乘

思路
比较简单,就一个循环乘上去

代码如下:

function factorialize(num) {
  var r = 1;
  for(var i=1;i<=num;i++){
    r = r * i;
  }
  return r;
}

factorialize(5);

三、Check for Palindromes 回文检查

思路
1、先把特殊字符去掉
2、把字符串反序
3、比较顺序与序串是否相等 继续阅读“当年练手FreeCodeCamp中的js基础算法编码题1~6 [源码]”