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

做网站公司简介模版有关网站建设国内外现状的文献

做网站公司简介模版,有关网站建设国内外现状的文献,深圳网站推广,如何编辑网站后台双指针 125.验证回文串 题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s#xff0c;如果它是 回文串 #xff0c;返回…双指针 125.验证回文串 题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s如果它是 回文串 返回 true 否则返回 false 。 提示 1 s.length 2e5 s 仅由可打印的 ASCII 字符组成 示例 1 输入: s  A man, a plan, a canal: Panama 输出true 解释amanaplanacanalpanama 是回文串。示例 2 输入s  race a car 输出false 解释raceacar 不是回文串。 示例 3 输入s    输出true 解释在移除非字母数字字符之后s 是一个空字符串  。由于空字符串正着反着读都一样所以是回文串。解析: 该题是个水题只需要移除所有非字母数字字符之后利用双指针从新的字符串的头部和尾部不断地向对方推进进行比较。 当两个不相同的字符时就结束说明此串不是回文串。 代码: class Solution {public boolean isPalindrome(String s) {String ps.toLowerCase();System.out.print(p);char[] anew char[p.length()];int len0;for (int i0;ip.length();i){if (p.charAt(i)ap.charAt(i)z||p.charAt(i)0p.charAt(i)9){a[len]p.charAt(i);}}boolean flagtrue;for (int i0,jlen-1;ij;i,j--){if (a[i]!a[j]){flagfalse;break;}}return flag;} }392.判断子序列 题目 给定字符串 s 和 t 判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些也可以不删除字符而不改变剩余字符相对位置形成的新字符串。例如ace是abcde的一个子序列而aec不是。 提示 0 s.length 100 0 t.length 1e4 两个字符串都只由小写字符组成。 示例 1 输入s  abc, t  ahbgdc 输出true示例 2 输入s  axc, t  ahbgdc 输出false解析 遍历字符串 t用一个指针 l 指向字符串 s 的最后一个与 s 匹配的字符的位置。 当 t[i]s[l] 时l。直到遍历结束比较 l 与字符串 s 的长度即可。 代码 class Solution {public boolean isSubsequence(String s, String t) {int n  t.length(), m  s.length();if (m  0)return true;int l  0;for (int i  0; i  n; i) {if (t.charAt(i)  s.charAt(l)) {l;}if (l  m) {break;}}if (l  m)return true;return false;} }167.两数之和 II - 输入有序数组 题目 给你一个下标从 1 开始的整数数组 numbers 该数组已按非递减顺序排列 请你从数组中找出满足相加之和等于目标数 target 的两个数。 如果设这两个数分别是 numbers[index1] 和 numbers[index2] 则 1 index1 index2 numbers.length 。 以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。 你可以假设每个输入 只对应唯一的答案 而且你 不可以 重复使用相同的元素。 你所设计的解决方案必须只使用常量级的额外空间。 提示 2 numbers.length 3 * 1e4 -1000 numbers[i] 1000 , numbers 按 非递减顺序 排列 -1000 target 1000 仅存在一个有效答案 示例 1 输入numbers  [2,7,11,15], target  9 输出[1,2] 解释2 与 7 之和等于目标数 9 。因此 index1  1, index2  2 。返回 [1, 2] 。示例 2 输入numbers  [2,3,4], target  6 输出[1,3] 解释2 与 4 之和等于目标数 6 。因此 index1  1, index2  3 。返回 [1, 3] 。示例 3 输入numbers  [-1,0], target  -1 输出[1,2] 解释-1 与 0 之和等于目标数 -1 。因此 index1  1, index2  2 。返回 [1, 2] 。解析 该数组已经按照非递减顺序排列设置两个指针分别指向数组头部和尾部。 如果指向的两个数的和大于目标数就需要将小的那个数变大即头部指针向后移动反之尾部指针向前移动。 直到两个数的和等于目标数。(仅存一个有效答案哦) 代码 class Solution {public int[] twoSum(int[] numbers, int target) {int nnumbers.length;int l0,rn-1;int[] ansnew int[2];while (lr){if (numbers[l]numbers[r]target){ans[0]l1;ans[1]r1;break;}else if (numbers[l]numbers[r]target){l;}else{r--;}}return ans;} }11.盛最多水的容器 题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明你不能倾斜容器。 提示 n height.length 2 n 1e5 0 height[i] 1e4 示例 1 输入[1,8,6,2,5,4,8,3,7] 输出49  解释图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下容器能够容纳水表示为蓝色部分的最大值为 49。示例 2 输入height  [1,1] 输出1解析 首先知道怎么计算水量水量等于两个端点的距离 * 两条线较短的一条的长度。 设置两个指针指向数组的头部和尾部一个最开始的水量就是尾部减头部的距离 * 较小的长度。 什么情况才可能比这个状态的水量大呢就是取决于两点的距离和较短的一条线长度。 将短的那条线的指针向里面推进只有当较短的变长了才有可能水量变大。 这样不断推进两边端点不断增加线的长度。每次找到后取水量的最大值即可。 代码 class Solution {public int maxArea(int[] height) {int ans  0;int l  0, r  height.length - 1;while (l  r) {if (height[l]  height[r]) {ans  Math.max(ans, height[l] * (r - l));int t  height[l];while (l  r  height[l]  t)l;} else {ans  Math.max(ans, height[r] * (r - l));int t  height[r];while (l  r  height[r]  t)r--;}}return ans;} } 15.三数之和 题目 给你一个整数数组 nums 判断是否存在三元组[nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k 同时还满足 nums[i] nums[j] nums[k] 0 。 请你返回所有和为 0 且不重复的三元组。 注意答案中不可以包含重复的三元组。 提示 3 nums.length 3000 -1e5 nums[i] 1e5 示例 1 输入nums  [-1,0,1,2,-1,-4] 输出[[-1,-1,2],[-1,0,1]] 解释 nums[0]  nums[1]  nums[2]  (-1)  0  1  0 。 nums[1]  nums[2]  nums[4]  0  1  (-1)  0 。 nums[0]  nums[3]  nums[4]  (-1)  2  (-1)  0 。 不同的三元组是 [-1,0,1] 和 [-1,-1,2] 。 注意输出的顺序和三元组的顺序并不重要。示例 2 输入nums  [0,1,1] 输出[] 解释唯一可能的三元组和不为 0 。示例 3 输入nums  [0,0,0] 输出[[0,0,0]] 解释唯一可能的三元组和为 0 。解析 首先数据最大是3000所以双for循环不会超时所以用双for循环遍历nums[i]和nums[j]那么关于剩下的数就是判断0-nums[i]-nums[j]是否在数组中了我是用的map将数组中的数和它的坐标存在map对象中判断该数是否存在且不是第i个数也不是第j个数。 然后就是去重问题我将符合条件的三个数存放进一个数组中进行sort。然后将数组的三个数放进List中将List放进一个Set中进行去重。(有更简便的算法我这个是更加合理地使用集合的那些容器) 代码 class Solution {public ListListInteger threeSum(int[] nums) {SetListInteger res  new HashSet();MapInteger, Integer m  new HashMap();for (int i  0; i  nums.length; i) {m.put(nums[i], i);}for (int i  0; i  nums.length; i)for (int j  i  1; j  nums.length; j) {int k  0 - nums[i] - nums[j];if (m.containsKey(k)  m.get(k) ! i  m.get(k) ! j) {ListInteger s  new ArrayList();int[] a  new int[3];a[0]  nums[i];a[1]  nums[j];a[2]  k;Arrays.sort(a);s.add(a[0]);s.add(a[1]);s.add(a[2]);res.add(s);}}return new ArrayListListInteger(res);} }
http://www.dnsts.com.cn/news/16276.html

相关文章:

  • 忻州建站公司百度口碑网
  • 十大高端网站建设创世做的网站源码
  • 国内外高校门户网站建设jsp网站开发实例视频教程
  • 百度极速版下载安装最新版seo 百度网盘
  • 政务网站风格网站与数据库
  • 做网站公司商丘阿里指数查询
  • 网站建设推销话术案例网站优化的关键词
  • 王色网站电脑当服务器做网站
  • 做网站 信息集成过程的顺序WordPress cdn缓存哪些
  • 网站平台建设框架电脑网站有哪些
  • 网站收录和反链都正常关键词却没有排名的原因南京网站建设流程
  • 潍坊网站建设报价免费网络节点
  • 怎么在免费空间里面做网站wordpress 关闭rss
  • 北京网站手机站建设公司电话wordpress的文章多重筛选
  • 店铺设计素材百度小程序排名优化
  • 南京市公共建设管理中心网站中国建筑网官网app
  • 空壳网站清理福州网站快速排名
  • 怎么样推广自己的网站wordpress字体插件
  • 分类信息网站建设专职石碣镇网站仿做
  • 东莞网站建设的方案为什么php导入数据库会乱码
  • 做网站服务器用谁的鹤壁建设网站推广公司电话
  • 潍坊网站制作熊掌号互联网有多少网站
  • 网站右侧返回顶部wordpress 搜索 分类
  • 绿地建设集团网站福州志愿者官方网站怎么做
  • 加强网站建设的建议好的高端企业网站建设公司
  • 找外包公司做网站网站集群系统建设
  • 网站有利于seo的细节越南的网站建设
  • 单位网站建设需要哪些技术百度青岛代理公司
  • php企业网站通讯录管理系统组织建设六个方面内容
  • 沈阳网站网页珠海建设网站官网