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

温州网站建设wzwmwl济宁手机网站建设公司

温州网站建设wzwmwl,济宁手机网站建设公司,中高端网页设计开发,淘宝客网站建设教程leetcode 150道题 计划花两个月时候刷完#xff0c;今天#xff08;第十二天《天数乱了》#xff09;完成了6道(21-26)150#xff1a; 21.(28. 找出字符串中第一个匹配项的下标) 题目描述#xff1a; 给你两个字符串 haystack 和 needle #xff0c;请你在 haystack 字…leetcode 150道题 计划花两个月时候刷完今天第十二天《天数乱了》完成了6道(21-26)150 21.(28. 找出字符串中第一个匹配项的下标) 题目描述 给你两个字符串 haystack 和 needle 请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标下标从 0 开始。如果 needle 不是 haystack 的一部分则返回 -1 。第一版这个题有印象KMP算法但是我不会我只能写简单的版本比暴力强一点的 class Solution {public int strStr(String haystack, String needle) {int hLenhaystack.length();int nLenneedle.length();int hIndex0;int nIndex0;while(hIndexhLennIndexnLen){if(haystack.charAt(hIndex)needle.charAt(nIndex)){hIndex;nIndex;}else{// 这块回退只要记住就 OKhIndexhIndex-nIndex1;nIndex0;}}if(nIndexnLen){return hIndex-nIndex;}else{return -1;}} }22.(125. 验证回文串) 题目描述 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s如果它是 回文串 返回 true 否则返回 false 。第一版这个题我感觉只需要知道咋判断字符是不是数字和字母就会isLetterOrDigit(char) class Solution {public boolean isPalindrome(String s) {ss.toLowerCase();int left0;int rights.length()-1;while(leftright){while(leftright!Character.isLetterOrDigit(s.charAt(left))){left;}while(leftright!Character.isLetterOrDigit(s.charAt(right))){right--;}if(s.charAt(left)!s.charAt(right--)){return false;}}return true;} }23.(392. 判断子序列) 题目描述 给定字符串 s 和 t 判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些也可以不删除字符而不改变剩余字符相对位置形成的新字符串。例如ace是abcde的一个子序列而aec不是。第一版这个直接写 class Solution {public boolean isSubsequence(String s, String t) {int sLens.length();int tLent.length();if(sLentLen){return false;}int sIndex0;int tIndex0;while(sIndexsLentIndextLen){if(s.charAt(sIndex)t.charAt(tIndex)){sIndex;}tIndex;}return sIndexsLen;} }24.167. 两数之和 II - 输入有序数组题目描述 给你一个下标从 1 开始的整数数组 numbers 该数组已按 非递减顺序排列 请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] 则 1 index1 index2 numbers.length 。 以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。 你可以假设每个输入 只对应唯一的答案 而且你 不可以 重复使用相同的元素。 你所设计的解决方案必须只使用常量级的额外空间。第一版这个是典型的双指针题目了 class Solution {public int[] twoSum(int[] numbers, int target) {int left0;int rightnumbers.length-1;while(leftright){int tempnumbers[left]numbers[right];if(temptarget){return new int[]{left1,right1};}else if(temptarget){left;}else{right--;}}return new int[]{};} }25.11. 盛最多水的容器题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明你不能倾斜容器。第一版这个真的没想到双指针所以我就直接暴力了但是加了一点点优化暴力也是过了暴力无敌 class Solution {public int maxArea(int[] height) {int lenheight.length;// len 最小是2if(len1)return 0;int max0;int maxHeight-1;for(int i0;ilen-1;i){if(height[i]maxHeight){maxHeightheight[i];}else{continue;}for(int ji1;jlen;j){maxMath.max((j-i)*Math.min(height[i],height[j]),max);}}return max;} }第二版看了解题这题做了好几遍了但还是想不到双指针我对双指针的印象停留在有序的数组上这个是无序的但是看解题说最后是可以验证双指针是对的 class Solution {public int maxArea(int[] height) {int lenheight.length;// len 最小是2if(len1)return 0;int left0;int rightlen-1;int max0;int temp0;while(leftright){if(height[left]height[right]){tempheight[right]*(right-left);right--;}else{tempheight[left]*(right-left);left;}maxMath.max(temp,max);}return max;} }26.15. 三数之和题目描述 给你一个整数数组 nums 判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k 同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意答案中不可以包含重复的三元组。第一版这个也做了好几边但是还是没注意题目返回值要的值不是index,可以先排序然后就可以用双指针了那就让大家看看我的骚操作怎么过滤的。。 class Solution {public ListListInteger threeSum(int[] nums) {int lennums.length;ListListInteger resnew ArrayList();if(len1)return res;Arrays.sort(nums);SetString setnew HashSet();int left1;int rightlen-1;for(int i0;ilen-2;i){// 双指针lefti1;rightlen-1;while(leftright){int tempnums[i]nums[left]nums[right];if(temp0){StringBuilder sbnew StringBuilder();sb.append(nums[i]);sb.append(nums[left]);sb.append(nums[right]);if(set.add(sb.toString())){res.add(Arrays.asList(nums[i],nums[left],nums[right]));}left;right--;}else if(temp0){right--;}else{left;}}}return res;} }第二版不得不说去重的思想很厉害 class Solution {public ListListInteger threeSum(int[] nums) {int lennums.length;ListListInteger resnew ArrayList();if(len2)return res;Arrays.sort(nums);int left1;int rightlen-1;for(int i0;ilen-2;i){// 去重if(nums[i]0)continue;if(i!0){if(nums[i]nums[i-1])continue;}// 双指针lefti1;rightlen-1;while(leftright){int tempnums[i]nums[left]nums[right];if(temp0){res.add(Arrays.asList(nums[i],nums[left],nums[right]));// 去重while(leftrightnums[left]nums[left1]){left;}while(leftrightnums[right]nums[right-1]){right--;}left;right--;}else if(temp0){right--;}else{left;}}}return res;} }今天这些也是之前做过的有印象所以做的还算是快但是有些也忘的差不多了总之比之前有一点点的提升至少暴力求解能写出来了。 唉最近又开始被催着相亲了真不知道说什么。。直男的痛苦啊真的想一句话我真的能想一个小时感觉比算法题还难。。 加油早日跳槽
http://www.sadfv.cn/news/132300/

相关文章:

  • 爱站工具的功能都安做网站
  • 东莞做网站的网络公司无锡网站建设工作
  • 如何在iis下建设网站汽车之家app下载
  • 如何制作手机网站牛 网站建设
  • 只做黑白摄影的网站网站建设企业网站优化
  • wordpress网站布置视频中国域名注册中心
  • 怎么做辅助发卡网站郑州手机软件开发公司
  • 网站建设推广培训wordpress 内容排版
  • 做情诗网站小程序就是做网站
  • 中国印花图案设计网站万网网站建设方案书
  • 企业网站的主要功能seo智能优化软件
  • 优化系统流程百度seo培训
  • 大型网站开发的书手机编程软件app下载
  • 网站设计制作报告聊城网站建设招聘
  • 做网站先做母版页英文网站如何做
  • 产品商城网站建设wordpress文章cms模板
  • 闽侯福州网站建设完全开源的一个商城系统
  • 宾馆酒店 网站模板剪辑课程哪里培训最好
  • 杭州 定制网站动漫制作专业需要艺考吗
  • 杭州网站建设的公司wordpress居中样式
  • 网站建设分金手指专业五wordpress 标签转拼音
  • 电影手机网站建设wordpress几万条数据
  • 如何才能让自己做的网站百度能搜万网ceo
  • 福田网站建设的工具房屋装修效果图怎么制作
  • 国外建设网站的软件北京网站开发品牌
  • 信阳网站开发建设公司php和wordpress教程
  • 中创高科官方网站网站设计文档模板
  • 如何查看网站是否降权荆门网站建设514885
  • 哈尔滨网站建设哪儿好薇有什么做视频的素材网站
  • 关键词站长工具精品课程网站建设毕业设计论文