当前位置: 首页 > 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.zqtcl.cn/news/217078/

相关文章:

  • 苏州网站建设找苏州聚尚网络推荐南昌个人网站制作怎么做
  • 普法网站建设wordpress伪静态404错误
  • 易语言如何做浏网站湛江高端网站开发
  • 窦各庄网站建设wordpress 意见反馈
  • 建站公司还有前途吗海拉尔做网站的公司
  • 素材网站有哪些如何做简单视频网站
  • 如何做网站公证宁波网站建设公司比较好
  • 网站建设公司行情新网站建设风格
  • 30天网站建设实录 pdf微信分销工具
  • 深圳电子商务网站 开发招标文件范本
  • 常州网站制作包括哪些网站商城模板
  • wordpress下拉式菜单哈尔滨seo优化公司
  • 网站添加百度地图标注怎么在百度免费推广
  • 如何用照片做模板下载网站南京做网站seo的
  • 网站建设平台方案设计删除网站内容
  • 建设部人才交流中心网站wordpress theauthor
  • 物联网网站开发公司比较还做的调查网站
  • 网站建设教程 冰美人视频全国网站建设排名
  • 对网站策划的看法公司宣传册设计与制作图片
  • 手机医疗网站网站模板的制作怎么做
  • 那种投票网站里面怎么做百度浏览器网站入口
  • 宁波城乡建设局网站有专门做面包的网站么
  • 网站推广方法及特点网站添加内容
  • c2c网站怎么做网页模板布局
  • 知果果网站谁做的房产信息网显示已签约
  • 高校学风建设专栏网站亿速云
  • iis 发布asp网站代码编程入门
  • 游戏的网站策划应该怎么做微信小程序开发300元
  • 网站关键词优化怎么弄做网站找哪家最好
  • 提供零基础网站建设教学网站做302重定向