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

网站首页图片滑动怎么做自己建设网站服务器

网站首页图片滑动怎么做,自己建设网站服务器,长春建网站一般要多少钱,建设信基金管理有限公司网站主要记录算法和数据结构学习笔记#xff0c;新的一年更上一层楼#xff01; 初级算法-字符串一、反转字符串二、反转字符串#xff08;二#xff09;三、替换空格四、翻转字符串里的单词五、左旋转字符串六、实现 strStr()七、重复的子字符串字符串中元素只能是字符String…主要记录算法和数据结构学习笔记新的一年更上一层楼 初级算法-字符串一、反转字符串二、反转字符串二三、替换空格四、翻转字符串里的单词五、左旋转字符串六、实现 strStr()七、重复的子字符串字符串中元素只能是字符String s是空串String sNULL是空白串除串s本身以外的子串都是真子串空串是任何串的子串KMP算法解决字符串匹配问题前缀表next数组前缀不包含最后一个后缀不包含首字母 一、反转字符串 1.题目编写一个函数其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 示例 1 输入[h,e,l,l,o] 输出[o,l,l,e,h]示例 2 输入[H,a,n,n,a,h] 输出[h,a,n,n,a,H]2.解题思路 /*** param {character[]} s* return {void} Do not return anything, modify s in-place instead.*/ var reverseString function(s) {//Do not return anything, modify s in-place instead.reverse(s) };var reverse function(s) {let l -1, r s.length;while(l --r) [s[l], s[r]] [s[r], s[l]]; }; // 运行时间120ms // 内存消耗47.6MB二、反转字符串二 1.题目 给定一个字符串 s 和一个整数 k从字符串开头算起, 每计数至 2k 个字符就反转这 2k 个字符中的前 k 个字符。 如果剩余字符少于 k 个则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个则反转前 k 个字符其余字符保持原样。 示例 输入: s abcdefg, k 2 输出: bacdfeg2.解题思路 /*** param {string} s* param {number} k* return {string}*/ var reverseStr function(s, k) {const len s.length;let resArr s.split(); for(let i 0; i len; i 2 * k) { // 每隔 2k 个字符的前 k 个字符进行反转let l i - 1, r i k len ? len : i k;while(l --r) [resArr[l], resArr[r]] [resArr[r], resArr[l]];}return resArr.join(); }; // 运行时间80ms // 内存消耗43.8MB三、替换空格 1.题目 请实现一个函数把字符串 s 中的每个空格替换成%20。 示例1 输入s We are happy. 输出We%20are%20happy.2.解题思路 /*** param {string} s* return {string}*/var replaceSpace function(s) {// 字符串转为数组const strArr Array.from(s);let count 0;// 计算空格数量for(let i 0; i strArr.length; i) {if (strArr[i] ) {count;}}let left strArr.length - 1;let right strArr.length count * 2 - 1;while(left 0) {if (strArr[left] ) {strArr[right--] 0;strArr[right--] 2;strArr[right--] %;left--;} else {strArr[right--] strArr[left--];}}// 数组转字符串return strArr.join(); }; // 运行时间60ms // 内存消耗41MB四、翻转字符串里的单词 1.题目 给定一个字符串逐个翻转字符串中的每个单词。 示例 示例 1 输入: the sky is blue 输出: blue is sky the示例 2 输入: hello world! 输出: world! hello 解释: 输入字符串可以在前面或者后面包含多余的空格但是反转后的字符不能包括。示例 3 输入: a good example 输出: example good a 解释: 如果两个单词间有多余的空格将反转后单词间的空格减少到只含一个。2.解题思路 /*** param {string} s* return {string}*/var reverseWords function(s) {// 字符串转数组const strArr Array.from(s);// 移除多余空格removeExtraSpaces(strArr);// 翻转reverse(strArr, 0, strArr.length - 1);let start 0;for(let i 0; i strArr.length; i) {if (strArr[i] || i strArr.length) {// 翻转单词reverse(strArr, start, i - 1);start i 1;}}return strArr.join(); };// 删除多余空格 function removeExtraSpaces(strArr) {let slowIndex 0;let fastIndex 0;while(fastIndex strArr.length) {// 移除开始位置和重复的空格if (strArr[fastIndex] (fastIndex 0 || strArr[fastIndex - 1] )) {fastIndex;} else {strArr[slowIndex] strArr[fastIndex];}}// 移除末尾空格strArr.length strArr[slowIndex - 1] ? slowIndex - 1 : slowIndex; }// 翻转从 start 到 end 的字符 function reverse(strArr, start, end) {let left start;let right end;while(left right) {// 交换[strArr[left], strArr[right]] [strArr[right], strArr[left]];left;right--;} } // 运行时间72ms // 内存消耗44.4MB 五、左旋转字符串 1.题目 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如输入字符串abcdefg和数字2该函数将返回左旋转两位得到的结果cdefgab。 示例 示例 1 输入: s abcdefg, k 2 输出: cdefgab示例 2 输入: s lrloseumgh, k 6 输出: umghlrlose限制 1 k s.length 100002.解题思路 var reverseLeftWords function(s, n) {const length s.length;let i 0;while (i length - n) {s s[length - 1] s;i;}return s.slice(0, length); }; // 运行时间120ms // 内存消耗47MB// 原字符串上操作 /*** param {string} s* param {number} n* return {string}*/ var reverseLeftWords function (s, n) {/** Utils */function reverseWords(strArr, start, end) {let temp;while (start end) {temp strArr[start];strArr[start] strArr[end];strArr[end] temp;start;end--;}}/** Main code */let strArr s.split();let length strArr.length;reverseWords(strArr, 0, length - 1);reverseWords(strArr, 0, length - n - 1);reverseWords(strArr, length - n, length - 1);return strArr.join(); }; // 运行时间80ms // 内存消耗43.3MB六、实现 strStr() 1.题目 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在则返回 -1。 示例 示例 1: 输入: haystack hello, needle ll 输出: 2示例 2: 输入: haystack aaaaa, needle bba 输出: -1说明: 当 needle 是空字符串时我们应当返回什么值呢这是一个在面试中很好的问题。 对于本题而言当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。2.解题思路 // 前缀表统一减一 /*** param {string} haystack* param {string} needle* return {number}*/ var strStr function (haystack, needle) {if (needle.length 0)return 0;const getNext (needle) {let next [];let j -1;next.push(j);for (let i 1; i needle.length; i) {while (j 0 needle[i] ! needle[j 1])j next[j];if (needle[i] needle[j 1])j;next.push(j);}return next;}let next getNext(needle);let j -1;for (let i 0; i haystack.length; i) {while (j 0 haystack[i] ! needle[j 1])j next[j];if (haystack[i] needle[j 1])j;if (j needle.length - 1)return (i - needle.length 1);}return -1; }; #运行时间56ms #内存消耗41.1MB// 前缀表统一不减一 /*** param {string} haystack* param {string} needle* return {number}*/ var strStr function (haystack, needle) {if (needle.length 0)return 0;const getNext (needle) {let next [];let j 0;next.push(j);for (let i 1; i needle.length; i) {while (j 0 needle[i] ! needle[j])j next[j - 1];if (needle[i] needle[j])j;next.push(j);}return next;}let next getNext(needle);let j 0;for (let i 0; i haystack.length; i) {while (j 0 haystack[i] ! needle[j])j next[j - 1];if (haystack[i] needle[j])j;if (j needle.length)return (i - needle.length 1);}return -1; }; #运行时间72ms #内存消耗41MB七、重复的子字符串 1.题目 给定一个非空的字符串判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母并且长度不超过10000。 示例 示例 1: 输入: abab 输出: True 解释: 可由子字符串 ab 重复两次构成。示例 2: 输入: aba 输出: False示例 3: 输入: abcabcabcabc 输出: True 解释: 可由子字符串 abc 重复四次构成。 (或者子字符串 abcabc 重复两次构成。)/*** param {string} s* return {boolean}*/ var repeatedSubstringPattern function (s) {if (s.length 0)return false;const getNext (s) {let next [];let j -1;next.push(j);for (let i 1; i s.length; i) {while (j 0 s[i] ! s[j 1])j next[j];if (s[i] s[j 1])j;next.push(j);}return next;}let next getNext(s);if (next[next.length - 1] ! -1 s.length % (s.length - (next[next.length - 1] 1)) 0)return true;return false; }; #运行时间76ms #内存消耗47.3MB/*** param {string} s* return {boolean}*/ var repeatedSubstringPattern function (s) {if (s.length 0)return false;const getNext (s) {let next [];let j 0;next.push(j);for (let i 1; i s.length; i) {while (j 0 s[i] ! s[j])j next[j - 1];if (s[i] s[j])j;next.push(j);}return next;}let next getNext(s);if (next[next.length - 1] ! 0 s.length % (s.length - next[next.length - 1]) 0)return true;return false; }; #运行时间72ms #内存消耗47.3MB
http://www.w-s-a.com/news/747712/

相关文章:

  • 网站后台管理系统的重要技术指标wordpress下单邮件通知的实现
  • 通化县住房和城乡建设局网站定制网站收费
  • 湖北做网站教程哪家好成都网站建设询q479185700上快
  • 网站的seo方案鹰潭做网站的公司
  • 高级室内设计网站太原网站设计费用
  • 智信建设职业培训学校网站深圳做网站建设开发
  • 宣城市住房和城乡建设局网站网站界面设计专利
  • 免费个人网站建站申请如何做内网网站
  • 福州专业网站建设怎么做黄骅港怎么读
  • 望京 网站建设深圳发型网站建设
  • 电商网站的相同点医疗网站建设代理商
  • 网址导航网站有哪些易营宝智能建站
  • 私人定制哪个网站做的比较好免费网站使用
  • 嘉兴网站建设系统免费的seo优化
  • 购书网站开发的意义网站建设接单渠道
  • 网站站内搜索怎么做wordpress默认主题修改
  • 网站推广的表现方式交网站建设 域名计入什么科目
  • 龙岗南联网站建设公司江门市
  • 网站运行方案设计平台模式
  • 网站加入wordpress邳州城乡建设局网站
  • 两个网站如何使用一个虚拟主机东莞市网站seo内容优化
  • 湖南网站建设公司排名傲派电子商务网站建设总结
  • 网站建设求职要求互联网挣钱项目平台
  • 网站权重怎么做做黑彩网站能赚钱吗
  • 三台建设局网站网页设计购物网站建设
  • thinkphp大型网站开发市场调研公司招聘
  • 天宁区建设局网站七冶建设集团网站 江苏
  • 越南网站 后缀湘潭新思维网站
  • 环球旅行社网站建设规划书网钛cms做的网站
  • 软件资源网站wordpress不能识别语言