网站备案名称查询,嘉兴企业网站排名优化,网站开发文档模板 开源,外贸公司有哪些岗位目录
一、两种排序方法
#xff08;1#xff09;原题再现
#xff08;2#xff09;问题分析
#xff08;3#xff09;完整代码 二、最小公倍数
#xff08;1#xff09;原题再现
#xff08;2#xff09;问题分析
#xff08;3#xff09;完整代码 一、两种…目录
一、两种排序方法
1原题再现
2问题分析
3完整代码 二、最小公倍数
1原题再现
2问题分析
3完整代码 一、两种排序方法 1原题再现 两种排序方法__牛客网 考拉有n个字符串字符串任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法 1.根据字符串的字典序排序。例如 car carriage cats doggies koala 2.根据字符串的长度排序。例如 car cats koala doggies carriage 考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法考拉要忙着吃树叶所以需要你来帮忙验证。 输入描述: 输入第一行为字符串个数n(n ≤ 100) 接下来的n行,每行一个字符串,字符串长度均小于100均由小写字母组成 输出描述: 如果这些字符串是根据字典序排列而不是根据长度排列输出lexicographically, 如果根据长度排列而不是字典序排列输出lengths, 如果两种方式都符合输出both否则输出none 2问题分析 本题在我看来是对字符串String类型的考察直接使用String的相关方法做是最简单的当中需要注意的是在String类中有一个compareTo方法内部设置直接就是按照字典序设定的。strA.compareTo(strB)返回得到一个int类型。如果字符串strA按照字典序排在字符串strB的前面就会得到一个小于0的数反之如果字符串strA按照字典序排在字符串strB的后面就会得到一个大于0的数两个字符串相等就会得到0。如果知道这个方法题目就会很好做不然就得对字符串里的每一个字符逐一比较很有可能会遗漏一些情况。 关于String的更多相关知识指路 Java基础之神奇String类一_小熊爱吃软糖吖的博客-CSDN博客 Java基础之神奇String类二_小熊爱吃软糖吖的博客-CSDN博客 3完整代码 import java.util.*;
public class Main{public static void main(String[] args) {// TODO 自动生成的方法存根Scanner scnew Scanner(System.in);int nsc.nextInt();String [] strnew String[n];for(int i0;in;i) {String ssc.next();str[i]s;}if(len(str)!lex(str)) {System.out.println(lengths);}else if(lex(str)!len(str)) {System.out.println(lexicographically);}else if(lex(str)len(str)) {System.out.println(both);}else {System.out.println(none);} }public static boolean len(String [] str) {for(int i1;istr.length;i) {if(str[i-1].length()str[i].length()){return false;}}return true;}public static boolean lex(String [] str) {for(int i1;istr.length;i) {if(str[i-1].compareTo(str[i])0) {return false;}}return true; }
}二、最小公倍数 1原题再现 求最小公倍数__牛客网 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值设计一个算法求输入A和B的最小公倍数。 2问题分析 这道题很常见最容易想到的方式是暴力求解利用一个for循环从1一直到a*b直到找出最小的公倍数。在我看来记住公式是最快捷的方法两个数的乘积最大公约数*最小公倍数。求解最大公约数可以用辗转相除法两数中较大的数max为除数较小的数min为被除数当max%min!0时将min赋值给maxmax除以min的余数赋值给min,直至0时较小的数min就是最大公约数。得到最大公约数就可以很容易求解最小公倍数了。 3完整代码 import java.util.*;
public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);int asc.nextInt();int bsc.nextInt();int LCDa*b/GCD(a,b);System.out.println(LCD);}public static int GCD(int a,int b) {//最大公约数int xMath.min(a, b);int yMath.max(a, b);while(y%x!0) {int rely%x;yx;xrel;}return x;}
}