日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法每日学打卡:java语言基础题目打卡(16-18)

發(fā)布時間:2025/3/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法每日学打卡:java语言基础题目打卡(16-18) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關(guān)注我的微信公眾號:好好學java,獲取優(yōu)質(zhì)學習資源。

-

“算法每日學計劃”16打卡:
時間限制:1.0s 內(nèi)存限制:256.0MB
問題描述
已知一個正整數(shù)N,問從1~N中任選出三個數(shù),他們的最小公倍數(shù)最大可以為多少。
輸入格式
輸入一個正整數(shù)N。
輸出格式
輸出一個整數(shù),表示你找到的最小公倍數(shù)。
樣例輸入
9
樣例輸出
504
數(shù)據(jù)規(guī)模與約定
1 <= N <= 106。

注意:群里小伙伴解答,感謝!

解題思路:
思路分析:最大 最小公倍數(shù),聯(lián)想到兩個數(shù)的求最大最小公倍數(shù),即兩個數(shù)的乘積(注:連續(xù)的兩個自然數(shù)是互斥的)。

同樣,我們可以拿最后三個數(shù)來做考慮。

1.當n為奇數(shù)時,n,n-1,n-2為奇偶奇,里面只有一個偶數(shù),所以不會有2這個因子。這三個數(shù)相差不到3,所以也不會有因子3,故符合題意。

2.當n為偶數(shù)時,n,n-1,n-2為偶奇偶,此時n,n-2肯定含有因子2,所以除于2不值得。所以考慮將n-2 換成n-3,變成奇偶奇,此時也有一個問題,

n和n-3,如果n%3==0,則除于3更不值得。仍根據(jù)奇偶奇的原則,變動偶數(shù)n為n-2,此時換成n-1,n-2,n-3和1情況一樣。故此時符合題意。

“算法每日學計劃”16打卡:
描述
現(xiàn)在,有一行括號序列,請你檢查這行括號是否配對。
輸入
第一行輸入一個數(shù)N(0

public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n= sc.nextInt();Stack<Character> stack = null; while(n!=0){ //從控制臺讀入一個測試字符串[]() [(]) String str = sc.next(); //如果該輸入字符串為奇數(shù),說明不匹配 if(str.length() % 2 == 1){ System.out.println("No"); }else{ //說明字符是偶數(shù) stack = new Stack<Character>(); for(int i=0;i<str.length();i++){ if(stack.isEmpty()){ //如果棧是空的 stack.push(str.charAt(i)); }else if(stack.peek() == '[' && str.charAt(i) == ']' || stack.peek() == '(' && str.charAt(i) == ')'){ //說明此時棧中字符不是空的,并且符合, stack.pop(); }else{ stack.push(str.charAt(i)); } } if(stack.isEmpty()){ //如果棧是空的,說明括號匹配 System.out.println("Yes"); }else{ //說明棧不為空,括號不匹配 System.out.println("No"); } } n--; } }

“算法每日學計劃”17打卡:
時間限制:5000 ms | 內(nèi)存限制:65535 KB
難度:3
描述
給定一整型數(shù)列{a1,a2…,an},找出連續(xù)非空子串{ax,ax+1,…,ay},使得該子序列的和最大,其中,1<=x<=y<=n。
輸入
第一行是一個整數(shù)N(N<=10)表示測試數(shù)據(jù)的組數(shù))
每組測試數(shù)據(jù)的第一行是一個整數(shù)n表示序列中共有n個整數(shù),隨后的一行里有n個整數(shù)I(-100=

import java.io.BufferedInputStream; import java.util.Arrays; import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner cin = new Scanner(new BufferedInputStream(System.in));int t = cin.nextInt();while (t-- > 0) {int n = cin.nextInt();int[] a = new int[n + 5];for (int i = 1; i <= n; i++) {a[i] = cin.nextInt();}int[] f = new int[n + 5];Arrays.fill(f, 0);f[1] = a[1];for (int i = 2; i <= n; i++) {if (f[i - 1] > 0)f[i] = f[i - 1] + a[i];elsef[i] = a[i];}int max = Integer.MIN_VALUE;for (int i = 1; i <= n; i++) {if (max < f[i]) {max = f[i];}}System.out.println(max);}}}

“算法每日學計劃”18打卡:
  問題描述
  編寫一個程序,讀入一組整數(shù),這組整數(shù)是按照從小到大的順序排列的,它們的個數(shù)N也是由用戶輸入的,最多不會超過20。然后程序?qū)@個數(shù)組進行統(tǒng)計,把出現(xiàn)次數(shù)最多的那個數(shù)組元素值打印出來。如果有兩個元素值出現(xiàn)的次數(shù)相同,即并列第一,那么只打印比較小的那個值。
  輸入格式:第一行是一個整數(shù)N,N? £? 20;接下來有N行,每一行表示一個整數(shù),并且按照從小到大的順序排列。
  輸出格式:輸出只有一行,即出現(xiàn)次數(shù)最多的那個元素值。
輸入輸出樣例
樣例輸入
5
100
150
150
200
250
樣例輸出
150

注意:群里小伙伴解答,感謝!

總結(jié)

以上是生活随笔為你收集整理的算法每日学打卡:java语言基础题目打卡(16-18)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。