国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

賽碼網(wǎng)編程題--“股神”

SexySix / 1478人閱讀

摘要:昨天看到了賽碼在線編程的一道題,熱度很高。賽碼股神題目是這樣的漲一天,跌一天,漲兩天,跌一天看似很有規(guī)律,看似很簡單。給大神跪了。。。大神們的解法簡單易懂的方法以上是最高票的答案。。。

昨天看到了賽碼在線編程的一道題,熱度很高。賽碼-股神
題目是這樣的:

漲一天,跌一天,漲兩天,跌一天....看似很有規(guī)律,看似很簡單。但昨天嘗試了一下,發(fā)現(xiàn)還是有點麻煩,因為他的數(shù)據(jù)范圍很大(10^9),絕對不能再嵌套循環(huán)!
然后我翻了下大神們的答案。。。給大神跪了。。。

大神們的解法
var cmd = require("node-stdio");

var func = (n) => {
    let i = 0,
        k = 2,
        j = 2;
    while(k < n) {
        i = i + 2;
        j = j + 1;
        k = k + j;
    }

    return n - i;
}

var line;
while((line=cmd.readInt()) != null){
    cmd.print(func(line));
}
簡單易懂的方法

以上是最高票的答案。。。講道理我沒怎么看懂。。。反正膜拜就對了
贊數(shù)靠前的大神們,基本也是像這樣用數(shù)學方法算的。
但我覺得這種方法不易懂,至少不適合我。
那有沒有更簡單的方法呢?今天又琢磨了一下,想到了一個超簡單的方法,突然感覺成就感max哈哈。
我的解法的核心思想就是圖形化,把抽象具體化。

漲一天,跌一天,漲兩天,跌一天,將這種狀態(tài)具體化記錄下來,可以這樣:10110 。聰明的你肯定懂了,下面直接上代碼

const readline = require("readline");
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal:false
})

rl.on("line", (line) => {
    let n = +line.trim()
    let mark = "1", res = 1
    for(let i=0, k=1; mark.length < n; i++) {
      let ans = Math.min(k,n - mark.length)
      if(i%2 == 1) {
        mark += 0
        res--
      } else {
        mark += "1".repeat(ans)
        res += ans
        k++
      }
    }
    console.log(res)
})

甚至都不需要記錄這個狀態(tài)字符串,因為他只需要最終的價格,所以優(yōu)化后代碼如下:

const readline = require("readline");
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal:false
})

rl.on("line", (line) => {
    let n = +line.trim()
    let day = 1, res = 1 //mark是Number類型就可以了,代表第幾天
    for(let i=0, k=1; day < n; i++) {
      let ans = Math.min(k,n - day)
      if(i%2 == 1) {
        day++
        res--
      } else {
        // mark += "1".repeat(ans)
        day += ans
        res += ans
        k++
      }
    }
    console.log(res)
})

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/97663.html

相關(guān)文章

  • 賽碼模擬股神 stockmaster (java8)

    摘要:我認為賽碼的題挺有趣的其實,所以還是值得做。還有更快的方法,舉例發(fā)現(xiàn)股價和天數(shù)之間是有一些規(guī)律的發(fā)現(xiàn)同一遞增周期內(nèi)股價與天數(shù)的差值相同。接下來只要能總結(jié)出天數(shù)和差值的關(guān)系就能知道股價了。 題目: 股票會有以下變化:第一天不變,以后漲一天,跌一天,漲兩天,跌一天,漲三天,跌一天...依此類推。為方便計算,假設(shè)每次漲和跌皆為1,股票初始單價也為1,請計算買股票的第n天每股股票值多少錢?例子...

    張漢慶 評論0 收藏0
  • 時js的輸入問總結(jié)

    摘要:牛客網(wǎng)其中只支持單行輸入賽碼網(wǎng)注意,如果一行超過個字符,會被強制分行的,因此如果題目明確說明該行超過字符,請自行拼接當然,我們盡量不出這種題目。 刷題時js的輸入問題總結(jié)大部分來自于 http://www.cnblogs.com/floor/... 感謝解決燃眉之急 還有小部分是自己的整理和思考 目前常見平臺還不太支持ES6寫法 推薦js刷題平臺 https://www.codewa...

    Hancock_Xu 評論0 收藏0
  • 前端開發(fā)應(yīng)屆生面試指南(含各大公司具體指南及面試真

    摘要:先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學,大學期間開始自學前端開發(fā),在今年春招實習和秋招的時候投了一些公司,拿到一些京東拼多多虎牙等,總體來說還算滿意,特地寫一篇文章來總結(jié)一下面試的那些套路。 showImg(https://segmentfault.com/img/remote/1460000011897700); 先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學...

    sunnyxd 評論0 收藏0
  • 前端開發(fā)應(yīng)屆生面試指南(含各大公司具體指南及面試真

    摘要:先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學,大學期間開始自學前端開發(fā),在今年春招實習和秋招的時候投了一些公司,拿到一些京東拼多多虎牙等,總體來說還算滿意,特地寫一篇文章來總結(jié)一下面試的那些套路。 showImg(https://segmentfault.com/img/remote/1460000011897700); 先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學...

    jeyhan 評論0 收藏0
  • 前端開發(fā)應(yīng)屆生面試指南(含各大公司具體指南及面試真

    摘要:先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學,大學期間開始自學前端開發(fā),在今年春招實習和秋招的時候投了一些公司,拿到一些京東拼多多虎牙等,總體來說還算滿意,特地寫一篇文章來總結(jié)一下面試的那些套路。 showImg(https://segmentfault.com/img/remote/1460000011897700); 先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學...

    lentoo 評論0 收藏0

發(fā)表評論

0條評論

SexySix

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<