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

信誉好的营销网站建设b站2020推广网站

信誉好的营销网站建设,b站2020推广网站,做网站要多少钱 知乎,艺术设计教学资源网站建设标准第一题: 这个题是一个简单题,数据范围也特别小,所以直接使用模拟方式暴力解答。 直接进行行移动的过程,然后检查移动后的结果是否与移动前相同。 代码: ​ public class Solution {// 将指定行循环右移k次pri…
第一题:

这个题是一个简单题,数据范围也特别小,所以直接使用模拟方式暴力解答。

直接进行行移动的过程,然后检查移动后的结果是否与移动前相同。

代码:      

​
public class Solution {// 将指定行循环右移k次private int[] rotateRow(int[] row, int k) {int[] rotatedRow = new int[row.length];for (int i = 0; i < row.length; i++) {rotatedRow[(i + k) % row.length] = row[i];}return rotatedRow;}private int[][] rotateMatrix(int[][] matrix, int k) {int[][] rotatedMatrix = new int[matrix.length][matrix[0].length];for (int i = 0; i < rotatedMatrix.length; i++) {if (i % 2 == 0) {rotatedMatrix[i] = rotateRow(matrix[i], k % matrix[i].length);} else {rotatedMatrix[i] = rotateRow(matrix[i], matrix[i].length - (k % matrix[i].length));}}return rotatedMatrix;}// 检查两个矩阵是否完全相同private boolean isSameMatrix(int[][] matrix1, int[][] matrix2) {for (int i = 0; i < matrix1.length; i++) {for (int j = 0; j < matrix1[0].length; j++) {if (matrix1[i][j] != matrix2[i][j]) {return false;}}}return true;}// 判断初始矩阵和最终矩阵是否相同public boolean areSimilar(int[][] matrix, int k) {int[][] originalMatrix = new int[matrix.length][matrix[0].length];for (int i = 0; i < matrix.length; i++) {originalMatrix[i] = matrix[i].clone(); // 创建矩阵的副本}int[][] rotatedMatrix = rotateMatrix(matrix, k); // 循环移动k次return isSameMatrix(originalMatrix, rotatedMatrix);}
}​
第二题:

这个题目的思路也比较简单,主要就是两个方面进行考虑,一进行子字符串的截取,二判断子字符串是否是美丽字符串。子字符串的截取采用双指针进行解决,通过双指针的移动来不断截取子字符串然后,去判断当前截取的子字符串两种字符的数量是否满足规则。代码如下:

class Solution {public int beautifulSubstrings(String s, int k) {int count = 0;for (int i = 0; i < s.length(); i++) {int vowels = 0;int consonants = 0;for (int j = i; j < s.length(); j++) {char c = s.charAt(j);if (isVowel(c)) {vowels++;} else {consonants++;}if (vowels == consonants && (vowels * consonants) % k == 0) {count++;}}}return count;}private boolean isVowel(char c) {c = Character.toLowerCase(c);return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';}
}
第三题:

这个题目的思路是分组排序,把差距在limit的数字分为一组,每一组中的数据可以直接排序,然后把这个结果插入回原来的数组中,就得到结果。对于这个题目的解决思路就是先把所有元素进行排序然后记录原始的下标,然后通过limit来进行元素的分组。分好组后,针对每个分组的下标进行排序然后把最小的元素放在最小的下标。这样就得到了问题结果。

class Solution {public int[] lexicographicallySmallestArray(int[] nums, int limit) {int n = nums.length;// 将所有元素按照大小排序,并记录原始下标List<Pair<Integer, Integer>> list = new ArrayList<>();for (int i = 0; i < n; i++) {list.add(new Pair<>(nums[i], i));}list.sort((a, b) -> a.getKey() - b.getKey());// 将所有元素划分成若干子段,子段内相邻元素之差不超过 limitList<List<Pair<Integer, Integer>>> segments = new ArrayList<>();int last = -limit;for (int i = 0; i < n; i++) {if (list.get(i).getKey() - last > limit) {segments.add(new ArrayList<>());}segments.get(segments.size() - 1).add(list.get(i));last = list.get(i).getKey();}int[] ans = new int[n];// 对每个子段分别进行从小到大排序,并填回到序列中for (List<Pair<Integer, Integer>> segment : segments) {List<Integer> pos = new ArrayList<>();for (Pair<Integer, Integer> p : segment) {pos.add(p.getValue());}pos.sort(Comparator.naturalOrder());for (int i = 0; i < segment.size(); i++) {ans[pos.get(i)] = segment.get(i).getKey();}}return ans;}
}

http://www.yidumall.com/news/44450.html

相关文章:

  • 做淘宝一件代发的网站企业管理培训课程
  • 番禺网站建设制作爱站权重
  • 怎么在网站上做按钮市场营销策略有哪4种
  • 西安官网优化哪家公司好宣城网站seo
  • 宁乡电商网站建设收费cps广告联盟
  • 怎么查网站死链接郑州关键词排名公司电话
  • 安陆网站设计百度竞价推广课程
  • 国外b2b网站域名无锡网站制作
  • 专业网站建设定制公司哪家好整合营销名词解释
  • 网页设计与网站建设在线考试石油大学网站宣传推广策划
  • 网站开发任务单百度文库广州网站建设正规公司
  • 重庆网址大全北京网站优化步
  • 服装品牌网站建设现在推广用什么平台
  • .net 网站开发实例百度怎么发帖子
  • 网站开发 怎样做费用结算推广软文范例100字
  • 网站建设公司株洲seo图片优化
  • 没有域名可以先做网站吗网络游戏推广怎么做
  • 动态网站设计选题参考百度直播平台
  • 管理学精品课程网站产品推广方式都有哪些
  • 子域名做微信开放平台网站应用郑州网络推广方法
  • 网站生成海报功能怎么做搜索引擎营销的特点包括
  • 设计师个人网站怎么做宁波seo优化公司排名
  • 合肥做网站的价格贵州百度seo整站优化
  • 网页设计与制作题目深圳网站关键词排名优化
  • ppt一键优化seo技术306
  • 手机如何制作网站和网页宁波seo入门教程
  • 有哪些做公司网站的东营网站推广公司
  • 做门户网站有前途吗网络营销方式有哪些分类
  • 上海网站建站建设长沙网站提升排名
  • 网站用什么东西做媒体资源网官网