algorithm
algorithm copied to clipboard
算法复习总结,用JavaScript实现
大佬求更新啊~
大佬求更新啊~大佬求更新啊~大佬求更新啊~啊啊啊~
如何从一个数组中快速找出两个数之和等于某一个值的两个数? ### 穷举法 用for循环的嵌套,穷举,这种方法的时间复杂度为O(n^2),是最差的方法 ### 快排+双指针 ``` function pickNumOfSum(arr,sum){ var i,j; var n = arr.length; for(i=0,j=n-1;i
 ``` /** * @param {number} n * @return {string[][]} */ var solveNQueens = function(n) { var res = []; // 垂直方向的占用情况 var vertical = {}; // 水平方向的占用情况 var horitonal...
 ``` /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} head * @return...
   ``` /** * @param {string} s * @return {number} */ var romanToInt = function(s) { let hash = {'I':1, 'IV':4, 'V':5, 'IX':9, 'X':10, 'XL':40, 'L':50, 'XC':90, 'C':100,...
 ``` /** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { let arr = s.split(''); let max = 0; let temp = []; for(let i=0,j=0;j...
  ``` /** * @param {string} path * @return {string} */ var simplifyPath = function(path) { let pathArr = path.split("/"); let resultArr = []; for(let i =0; i< pathArr.length;i++){...
  ``` /** * @param {string} s * @param {number} numRows * @return {string} */ var convert = function(s, numRows) { let result = new Array(numRows).fill(""); let str =...
 ``` /** * @param {string} s * @return {string} */ var longestPalindrome = function(s) { if(s.length < 2) return s; let newS = s.split('').join("#").split(''); newS.push("#$"); newS.unshift("^#"); let max =...
``` var arr = [1,3,20,5,2,9,6,4,80,9,4,6]; function mergeSort(arr){ let count = 0; function _mergeSort(arr, start, end){ if(start>=end){ return; } var middle = Math.floor((start+end)/2); _mergeSort(arr, start, middle); _mergeSort(arr, middle+1, end); merge(arr, start,...