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

垦利县企业型网站建设单页网站模板安装

垦利县企业型网站建设,单页网站模板安装,网站建设公司费用,免费的黄页推广软件哪个好数组字符串 合并两个有序数组 思路 类似于归并排序#xff0c;对两个有序数组进行合并即可#xff0c;但是空间复杂度是O(nm); 代码 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int[] ans new int[n m];int i 0, j 0;int cnt 0;…数组字符串 合并两个有序数组 思路 类似于归并排序对两个有序数组进行合并即可但是空间复杂度是O(nm); 代码 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int[] ans new int[n m];int i 0, j 0;int cnt 0;while (i m j n) {if (nums1[i] nums2[j]) {ans[cnt] nums1[i];} else {ans[cnt] nums2[j];}}while(i m) ans[cnt] nums1[i];while(j n) ans[cnt] nums2[j];for (int k 0; k cnt; k) {nums1[k] ans[k];}} }优化有一点小优化吧可以从后往前合并装入nums1的后面这样不会影响nums1的元素同样也节省了nm的空间本题的数据量小所以看不出。 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int i m - 1;int j n - 1;int cnt n m - 1;while(i 0 j 0) {if (nums1[i] nums2[j]) {nums1[cnt--] nums2[j--];} else {nums1[cnt--] nums1[i--];}}while(i 0) nums1[cnt--] nums1[i--];while(j 0) nums1[cnt--] nums2[j--];} }双指针 验证回文串 思路 用头指针和尾指针每次比较的时候必须满足两个指针指向的是数字或字符其他的符号都跳过。 代码 class Solution {public boolean isPalindrome(String s) {s s.toLowerCase();int len s.length();int i 0, j len - 1;char[] ch s.toCharArray();while(i j) {while(i len !check(ch[i])) i;while(j 0 !check(ch[j])) --j;//前面两句是过滤非字符或数字if (i j) {break;}if (ch[i] a) {ch[i] - 32;}if (ch[j] a) {ch[j] - 32;}// 如果是字符则统一转为小写if (ch[i] ! ch[j]) {return false;}i;--j;}return true;}private boolean check(char ch) {if (ch z ch a) {return true;}if (ch Z ch z) {return true;}if (ch 9 ch 0) {return true;}return false;} }滑动窗口 长度最小的子数组 思路 由滑动窗口思想设两个指针尾指针一直走当满足某个条件时头指针也跟着走。 条件当子数组和大于target时不断缩小窗口找到最小的窗口。 代码 class Solution {public int minSubArrayLen(int target, int[] nums) {int ans nums.length;int ind 0;int sum 0;for (int i 0; i nums.length; i) {sum nums[i];while (sum target) {sum - nums[ind];ans Math.min(ans, i - ind 1);ind;}}if (ind 0) { // sumtarget没有执行不存在子数组return 0;} return ans;} }矩阵 有效的数独 思路 创建三个set数组分别是对存“行”“列”“区域”的数字如果对应的set中有值那么就不是有效的。否则就添加 这里最主要的是怎样判断是否为同一个区域。 可以先对9x9的表格通过i/3,j/3划分为9个3x3区域然后每个区域的值都是 (0, 0), (0, 1), (0, 2) (1, 0), (1, 1)… 再通过将二维数组变为一维数组的计算公式i * row j。就是9个区域。 代码 class Solution {public boolean isValidSudoku(char[][] board) {SetCharacter[] rows new HashSet[9];SetCharacter[] cols new HashSet[9];SetCharacter[] area new HashSet[9];for (int i 0; i 9; i) {rows[i] new HashSet();cols[i] new HashSet();area[i] new HashSet();}for (int i 0; i 9; i) {for (int j 0; j 9; j) {if (board[i][j] 9 || board[i][j] 0) continue;if (rows[i].contains(board[i][j])) {return false;} else {rows[i].add(board[i][j]);}if (cols[j].contains(board[i][j])) {return false;} else {cols[j].add(board[i][j]);}int t i / 3 * 3 j / 3;//System.out.println(i j t);if (area[t].contains(board[i][j])) {return false;} else {area[t].add(board[i][j]);}}}return true;} }哈希表 赎金信 思路 比较r和m的26个字符个数如果r的某个字符个数大于m的某个字符个数则r不能由m的字符组成。 代码 class Solution {public boolean canConstruct(String r, String m) {int[] rCnt new int[26];int[] mCnt new int[26];for (int i 0; i r.length(); i) {rCnt[r.charAt(i) - a];}for (int i 0; i m.length(); i) {mCnt[m.charAt(i) - a];}for (int i 0; i 26; i) {if (rCnt[i] mCnt[i]) {return false;}}return true;} }
http://www.pierceye.com/news/254730/

相关文章:

  • 网站类网站开发犯罪吗肇东网站建设云聚达
  • 云南通耀建设工程有限公司网站少儿编程老师需要具备什么条件
  • 陕西交通建设集团蓝商分公司网站wordpress增加模板
  • 创建网站目录权限建网站域名注册后需要
  • 现在还有企业做网站的吗浏览器登录入口
  • 如何进行目的地网站建设阳江网站建设推广
  • 移动网站搭建如何做高并发网站的架构设计
  • 网站特效网网站制作出租
  • 公司商标设计logo图案优化专业的公司
  • 郑州网站设计见效快微信公众平台小程序入口
  • 自动化毕设题目网站开发自家电脑做网站服务器w7花生壳
  • 网站文件目录结构wordpress 短信发送
  • 合肥专业做网站的公司东莞阳光网投诉电话
  • 网站呢建设英雄联盟更新公告最新
  • 做ps图标什么网站最好免费微网站怎么做
  • 网站建设与网络编辑综合实训课程指导手册pdf软件外包
  • 网站开发规划书怎么写wordpress前端会员中心
  • asp.net网站建设实战 pdfWordpress媒体库途径
  • 开家网站设计公司优化游戏性能的软件
  • php企业网站开发pdfdede5.7网站搬家
  • 珠海建设网站的公司哪家好精品wordpress 模板
  • 企业网站建设和实现 论文沧州最新消息今天
  • 连云港做企业网站公司wordpress小工具上下
  • 新房网站建设公司手机制作app需要什么软件
  • 网站备案登记表网站建设及规划
  • 彩票网站建设平台wordpress模板怎么改织梦
  • 商业中心 网站建设怎么创建自己的官网
  • 中国建设银行总行官方网站宁波网站推广渠道
  • 网站备案的网站名称分类信息网址
  • 教育类网站建站jae安装wordpress