剑指offer试题
小小飞肖
no pain,no gain
展开
-
js 判断出栈是否有效
let inStack = [1,2,3];let outStack = [3,1,2];let left =0;let result = [];for(let i=0;i<inStack.length;i++){ result.push(inStack[i]) while(result.length!==0&&(result[result.le...原创 2019-10-11 20:41:13 · 294 阅读 · 0 评论 -
二进制中1的个数
function NumberOf1(n){ // write code here let count = 0; while(n != 0){ count++; n = n & (n - 1); } return count;}原创 2019-08-24 10:48:07 · 75 阅读 · 0 评论 -
剑指offer求数组中的逆序对
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007function InversePairs(data){ var copy = data.slice(); return mergeInversePairs(data, c...原创 2019-08-24 11:33:11 · 99 阅读 · 0 评论 -
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
function IsBalanced_Solution(pRoot){ // write code here if(!pRoot) return true; return Math.abs(height(pRoot.left)-height(pRoot.right))<=1; function height(node){ if(!n...原创 2019-08-24 13:25:51 · 137 阅读 · 0 评论 -
js利用动态规划求最长上升子序列的长度
var arr = [2,3,5,10,7,20,100,0];let dp =[];for(let i=0;i<arr.length;i++){ dp[i]=1;}let res = 0;for(let i=1;i<arr.length;i++){ for(let j=0;j<i;j++){ if(arr[j]<arr[i]){...原创 2019-09-12 08:13:48 · 1184 阅读 · 0 评论 -
js动态规划零花钱问题
coins = [1,2,5]amount = 11组成11元所需要的最少的钱币的个数let coins = [1,2,5];let count =11;let dp =[0];for(let i=1;i<=count;i++){ dp[i]=count}for(let i=1;i<=count;i++){ for(let j=0;j<coi...原创 2019-09-12 08:16:55 · 233 阅读 · 0 评论 -
js 求最长不重复子串
var lengthOfLongestSubstring = function(s) { var res = 0; // 用于存放当前最长无重复子串的长度 var str = ""; // 用于存放无重复子串 var len = s.length; for(var i = 0; i < len; i++) { var char = s.char...原创 2019-09-11 23:37:59 · 802 阅读 · 0 评论 -
最长回文字串
vars='abbaaddeeeedda'varaa=function(s){varresult=''for(vari=0;i<s.length;i++){for(varj=i+1;j<=s.length;j++){varstr=s.slice(i,j)//console.log(str)...原创 2019-09-30 23:43:06 · 110 阅读 · 0 评论