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 解题之路》练脑 (一)

 知识点快速索引

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