当前位置: 首页 > news >正文

宁波北仑做网站阿里云 发布网站 教程

宁波北仑做网站,阿里云 发布网站 教程,哪个公司的卡网络最好,营销网站的推广轮转数组 给定一个整数数组 nums#xff0c;将数组中的元素向右轮转 k 个位置#xff0c;其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: […轮转数组 给定一个整数数组 nums将数组中的元素向右轮转 k 个位置其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,1,2,3,4] 示例 2: 输入nums [-1,-100,3,99], k 2 输出[3,99,-1,-100] 解释: 向右轮转 1 步: [99,-1,-100,3] 向右轮转 2 步: [3,99,-1,-100] 思路都是在数组末尾和开头做操作 直接用数组方法, 不过用数组方法并没有体现算法思想用算法思想来搞反转三次第一次反转整个数组第二次反转前k个第三次反转剩余部分 // 最快方法 var rotate function(nums,key){nums.unshift(...nums.splice(nums.length - k % nums.length, k))} //此方法超时 var rotate function(nums, k) {let nums1 [...nums]for(let i 0 ; i k ; i){let res nums1.pop()nums1.unshift(res)}return nums1}; //用算法做 const reverse (nums, start, end) {while (start end) {[nums[start], nums[end--]] [nums[end], nums[start]];}}function rotate(nums, k) {if (!nums || nums.length 0) {return [];}k % nums.length;if (k 0) {return nums;}reverse(nums, 0, nums.length - 1);console.log(nums)reverse(nums, 0, k - 1);console.log(nums)reverse(nums, k, nums.length - 1);console.log(nums)return nums;} //[ 6, 5, 4, 3, 2, 1 ] //[ 4, 5, 6, 3, 2, 1 ] //[ 4, 5, 6, 1, 2, 3 ]除自身以外数组的乘积 给你一个整数数组 nums返回 数组 answer 其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在  32 位 整数范围内。 请 **不要使用除法**且在 O(_n_) 时间复杂度内完成此题。 示例 1: 输入: nums [1,2,3,4] 输出: [24,12,8,6] 示例 2: 输入: nums [-1,1,0,-3,3] 输出: [0,0,9,0,0] 思路:前缀和和后缀和相乘 两次for循环 var productExceptSelf function(nums) {let answer new Array(nums.length).fill(1)let prefix 1;for (let i 1; i nums.length; i) {prefix nums[i -1] * prefixanswer[i] * prefix}let suffix 1;for(let i nums.length -2; i 0; i--){suffix nums[i 1] *suffixanswer[i] * suffix}return answer};找到字符串中所有字母异位词 中等 相关标签 相关企业 给定两个字符串 s 和 p找到 s 中所有 p 的 异位词 的子串返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串包括相同的字符串。 示例 1: 输入: s “cbaebabacd”, p “abc” 输出: [0,6] 解释: 起始索引等于 0 的子串是 “cba”, 它是 “abc” 的异位词。 起始索引等于 6 的子串是 “bac”, 它是 “abc” 的异位词。 示例 2: 输入: s “abab”, p “ab” 输出: [0,1,2] 解释: 起始索引等于 0 的子串是 “ab”, 它是 “ab” 的异位词。 起始索引等于 1 的子串是 “ba”, 它是 “ab” 的异位词。 起始索引等于 2 的子串是 “ab”, 它是 “ab” 的异位词。 思路维护一个滑动窗口 用charCodeat方法获取字母的ascall码值. var findAnagrams function(s, p) {const len s.length// 首先定义一个长度为26的数组charNumList用来存放每个小写字母出现的次数。const charNumList new Array(26).fill(0)const res []let left 0, right 0for (let i 0; i p.length; i) {// 对于字符串p中的每个字母通过p[i].charCodeAt() - 97获取其ASCII码值并将其减去97// 得到该字母在charNumList中对应的下标。将该下标的元素值1表示该字母出现了一次。charNumList[p[i].charCodeAt() - 97]}while (right len) {// charNumList[s[right].charCodeAt() - 97]-- 将当前字符对应的元素值-1表示该字符出现了一次。charNumList[s[right].charCodeAt() - 97]--// charNumList[s[right].charCodeAt() - 97] 0// 当前字符在s中出现的次数已经超过了p中出现的次数// 则需要移动左指针进行调整直到当前字符在s中出现的次数小于等于p中出现的次数。while (charNumList[s[right].charCodeAt() - 97] 0) {charNumList[s[left].charCodeAt() - 97]left}//说明找到了一个满足条件的“字母异位词”将left保存在结果数组res中if (right - left 1 p.length) {res.push(left)}right}return res};
http://www.tj-hxxt.cn/news/134201.html

相关文章:

  • 湖南网站开发哪家好深圳高端网站制作费用
  • 网站做程序外贸网站模板源码
  • 网站制作的主要流程网站建设 技术支持
  • 在百度做网站多少钱网站建设服务商城
  • 河南省建设教育协会网站php网站后台上传不了图片
  • 网站建设需要具备哪些做网站分pc端和移动端的吗
  • wordpress设置安全湛江百度seo公司
  • 上海青浦房地产网站建设简历设计网官网
  • 用插件做网站建站公司外贸
  • 现在做一个网站多少钱合肥寒假兼职工网站建设
  • 网站维护源码自适应58同城找工作招聘官网
  • 济南做网站公司哪家好网上虚拟银行注册网站
  • 界面官方网站专业格泰建站
  • 苏州企业网站建设网站域名审核时间
  • 用cn作网站行么海外网站空间
  • 网站监控的软件怎么做响应式网站 尺寸
  • 上海电商网站开发公司一般的网站是由什么语言做的
  • 利用高权重网站做关键词个人接app推广单去哪里接
  • 更改网站主题小程序api开发
  • 金坛网站建设报价网站开发岗位群
  • 西安网站建设网站推广个性定制网站有哪些
  • 池州家居网站建设怎么样滨州网站建设腾度
  • 手机看电视剧网站大全仓库网站开发
  • 凉山州建设厅官方网站wordpress 怎样做模版
  • 自己网站上做淘宝搜索网页制作指南
  • 简单网站建设优化推广wordpress logo 没了
  • 扬州做网站的科技公司私人注册企业邮箱
  • 做单页网站需要做什么有没有学室内设计的学校
  • 网站建设预期目标网站建设流量什么意思
  • 做yahoo代拍网站公司专业网站定制流程