算法每日学打卡:java语言基础题目打卡(16-18)
文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關(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
“算法每日學計劃”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=
“算法每日學計劃”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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信公众号支付开发全过程(java版)
- 下一篇: 算法每日学打卡:java语言基础题目打卡