摘要:
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 function removeDuplicates(nums) { let obj = {} for(let i = nums.length-1;i > -1;i-- ){ let item = n 阅读全文
摘要:
整体流程 vm.$set(target,key,val) function set(target,key,val){ //有效的下标 if(Array.isArray(target) && isValidArrayIndex(key)){ target.length = Math.max(targe 阅读全文
摘要:
模板编译 在底层实现上,vue.js会将模板编译成虚拟DOM渲染函数。当应用内部的状态发生变化时,vue.js会结合响应式系统,找出最小数量的组件进行重新渲染以及最少量地进行DOM操作。 平时使用模板时,可以在模板中使用一些变量来填充模板,还可以在模板中使用JavaScript表达式,又或者使用一些 阅读全文
摘要:
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 function strStr(haystack, needle) { if(needle 阅读全文
摘要:
将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 function convert(s, numRows) { if(numRows == 1){ return s } let arr = [] for(let i = 0;i < s.length;i++){ let sub 阅读全文
摘要:
给定一个字符串 s,找到 s 中最长的回文子串。 function longestPalindrome(s) { if(s.length == 0){ return s } let palindrome = s[0] for(let i = 0;i < s.length -1;i++){ let i 阅读全文
摘要:
采用 i-- 的方式,因为splice方法会改变数组,如果采用 i = 0;i++;的方式遍历进行删除操作,会产生遗漏项 在代码中,遍历列表是从后向前循环,这样在列表中移除当前位置时,不会影响列表中未遍历到的位置;如果是从前向后遍历,那么当从列表中移除当前位置时,后面的会自动行前移动一个位置,这样会 阅读全文
摘要:
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 function reverse(x) { if(x < 0){ le 阅读全文
摘要:
给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。 function findMedianSortedArrays(nums1, 阅读全文
摘要:
给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 function maxProduct(nums) { let maxsum = Math.max(...nums); if(nums.length == 1){ retur 阅读全文