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

南充网站建设制作重庆有的设计网站大全

南充网站建设制作,重庆有的设计网站大全,服务器安全工具,游戏网站代码剑指 Offer 57. 和为s的两个数字 剑指 Offer 58 - I. 翻转单词顺序 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 题目一#xff1a;调整数组顺序使奇数位于偶数前面 输入一个整数数组#xff0c;实现一个函数来调整该数组中数字的顺序#xff0c;使得所有奇数在数组的… 剑指 Offer 57. 和为s的两个数字 剑指 Offer 58 - I. 翻转单词顺序 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 题目一调整数组顺序使奇数位于偶数前面 输入一个整数数组实现一个函数来调整该数组中数字的顺序使得所有奇数在数组的前半部分所有偶数在数组的后半部分。 示例 输入nums  [1,2,3,4] 输出[1,3,2,4]  注[3,1,2,4] 也是正确的答案之一。 解法一先获取奇数的数量之后遍历判断偶数放在后面奇数正常放 O(n)的时间复杂度  public int[] exchange1(int[] nums) {int len nums.length;int[] arr new int[len];int ji 0;for (int i 0; i len; i) {if (nums[i] % 2 1) ji;}int index 0;int index2 0;for (int i 0; i len; i) {if (nums[i] % 2 1) {arr[index] nums[i];} else {arr[ji index2] nums[i];}}return arr;} 解法二双指针不失为一种好评解法第一个指针从0开始第二个从最后一个位置开始 public int[] exchange2(int[] nums) {int len nums.length;int[] arr new int[len];int left 0, right len - 1;for (int i 0; i len; i) {if (nums[i] % 2 1) {arr[left] nums[i];} else {arr[right--] nums[i];}}return arr;} 解法三和解法一类似但是可读性更好一些拆开来做奇偶数判断 public int[] exchange3(int[] nums) {int index 0;int[] arr new int[nums.length];for (int i 0; i nums.length; i) {if (nums[i] % 2 1) {arr[index] nums[i];index 1;}}for (int i 0; i nums.length; i) {if (nums[i] % 2 0) {arr[index] nums[i];index 1;}}return arr;} 题目二 输入一个递增排序的数组和一个数字s在数组中查找两个数使得它们的和正好是s。如果有多对数字的和等于s则输出任意一对即可。 示例 1 输入nums [2,7,11,15], target 9 输出[2,7] 或者 [7,2] 示例 2 输入nums [10,26,30,31,47,60], target 40 输出[10,30] 或者 [30,10] 解法一很像二分查经典其实就是个双指针 public int[] twoSum(int[] nums, int target) {int low 0, high nums.length-1;while (low high){int sum nums[low] nums[high];if (sum target){low;}else if (sumtarget){high--;}else {return new int[]{nums[low],nums[high]};}}return new int[]{};} 题目三 输入一个英文句子翻转句子中单词的顺序但单词内字符的顺序不变。为简单起见标点符号和普通字母一样处理。例如输入字符串I am a student. 则输出student. a am I。 示例 1 输入: the sky is blue 输出: blue is sky the 示例 2 输入:  hello world!   输出: world! hello 解释: 输入字符串可以在前面或者后面包含多余的空格但是反转后的字符不能包括。 示例 3 输入: a good   example 输出: example good a 解释: 如果两个单词间有多余的空格将反转后单词间的空格减少到只含一个。 解法一使用StringBuilder 拼接字符串即可  public String reverseWords(String s) {StringBuilder buffer new StringBuilder();s s.trim();String[] arrStr s.split( );for (int i arrStr.length-1; i 0; i--) {if (!arrStr[i].equals()){buffer.append(arrStr[i]).append( );}}return buffer.toString().trim();} 解法二经典双指针用法去掉收尾的空白字符 public String reverseWords(String s) {int left 0, right s.length() - 1;// 去掉字符串开头的空白字符while (left right s.charAt(left) ) {left;}// 去掉字符串末尾的空白字符while (left right s.charAt(right) ) {--right;}DequeString d new ArrayDequeString();StringBuilder word new StringBuilder();while (left right) {char c s.charAt(left);if ((word.length() ! 0) (c )) {// 将单词 push 到队列的头部d.offerFirst(word.toString());word.setLength(0);} else if (c ! ) {word.append(c);}left;}d.offerFirst(word.toString());return String.join( , d);}
http://www.w-s-a.com/news/870705/

相关文章:

  • 深圳沙井做网站公司网站搭建谷歌seo
  • 学校资源网站的建设方案山西省住房城乡建设厅网站
  • 医疗行业网站建设深圳网络科技公司排名
  • 企业形象型网站建设wordpress chess
  • 网站的域名起什么好处罗湖网站建设公司乐云seo
  • 网站的服务器在哪里sem推广软件选哪家
  • 科技网站欣赏婚庆公司经营范围
  • 网站后台管理系统php校园网站建设意见表填写
  • 网站建设问题调查常州百度推广代理公司
  • net网站开发学习谷歌优化培训
  • 企业网站公众号广东网站建设方便
  • 2008r2网站建设张店网站建设方案
  • 企业网站首页学生做的网站成品
  • 网站开发 架构设计企业信息管理系统的组成不包括
  • 网站维护模式网页传奇游戏平台排行
  • 企业网站改自适应蛋糕方案网站建设
  • 网站开发技术职责网站升级中html
  • 天网网站建设百度权重高的网站
  • 明年做哪些网站致富网站站长 感受
  • 东莞营销网站建设优化怎么做微信网站推广
  • 网站建设一个多少钱php网站服务器怎么来
  • 引流用的电影网站怎么做2012服务器如何做网站
  • 什么网站可以做推广广州安全信息教育平台
  • 网站开发具备的相关知识wordpress简约文字主题
  • asp网站伪静态文件下载seo外包公司哪家好
  • 淘宝客网站根目录怎么建个废品网站
  • 网站备案更改需要多久百度免费网站空间
  • 外发加工是否有专门的网站wordpress主页 摘要
  • 企业网站优化系统浙江建设信息港证书查询
  • 很多年前的51网站如何做跨境电商需要哪些条件