国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Golang每日一練(leetDay0065) 位1的個(gè)數(shù)、詞頻統(tǒng)計(jì)

這篇具有很好參考價(jià)值的文章主要介紹了Golang每日一練(leetDay0065) 位1的個(gè)數(shù)、詞頻統(tǒng)計(jì)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Golang每日一練(leetDay0065) 位1的個(gè)數(shù)、詞頻統(tǒng)計(jì)

目錄

191. 位1的個(gè)數(shù) Nnumber of 1-bits????

192. 統(tǒng)計(jì)詞頻 Word Frequency??????

?? 每日一練刷題專欄???

Golang每日一練 專欄

Python每日一練 專欄

C/C++每日一練 專欄

Java每日一練 專欄


191. 位1的個(gè)數(shù) Nnumber of 1-bits

編寫一個(gè)函數(shù),輸入是一個(gè)無(wú)符號(hào)整數(shù)(以二進(jìn)制串的形式),返回其二進(jìn)制表達(dá)式中數(shù)字位數(shù)為 '1' 的個(gè)數(shù)(也被稱為漢明重量)?。

提示:

  • 請(qǐng)注意,在某些語(yǔ)言(如 Java)中,沒(méi)有無(wú)符號(hào)整數(shù)類型。在這種情況下,輸入和輸出都將被指定為有符號(hào)整數(shù)類型,并且不應(yīng)影響您的實(shí)現(xiàn),因?yàn)闊o(wú)論整數(shù)是有符號(hào)的還是無(wú)符號(hào)的,其內(nèi)部的二進(jìn)制表示形式都是相同的。
  • 在 Java 中,編譯器使?用二進(jìn)制補(bǔ)碼記法?來(lái)表示有符號(hào)整數(shù)。因此,在?示例 3?中,輸入表示有符號(hào)整數(shù)?-3。

示例 1:

輸入:00000000000000000000000000001011
輸出:3
解釋:輸入的二進(jìn)制串 00000000000000000000000000001011?中,共有三位為 '1'。

示例 2:

輸入:00000000000000000000000010000000
輸出:1
解釋:輸入的二進(jìn)制串 00000000000000000000000010000000?中,共有一位為 '1'。

示例 3:

輸入:11111111111111111111111111111101
輸出:31
解釋:輸入的二進(jìn)制串 11111111111111111111111111111101 中,共有 31 位為 '1'。

提示:

  • 輸入必須是長(zhǎng)度為?32?的?二進(jìn)制串?。

進(jìn)階

  • 如果多次調(diào)用這個(gè)函數(shù),你將如何優(yōu)化你的算法?

代碼:

package main

import (
	"fmt"
	"math/bits"
)

func hammingWeight1(num int) int {
	sum := 0
	for i := 0; i < 32; i++ {
		if (num>>i)&1 == 1 {
			sum++
		}
	}
	return sum
}

func hammingWeight2(num int) int {
	sum := 0
	for num != 0 {
		num &= num - 1
		sum++
	}
	return sum
}

func hammingWeight3(num int) int {
	return bits.OnesCount32(uint32(num))
}

func main() {
	n := 0b00000000000000000000000000001011
	a := hammingWeight1(n)
	b := hammingWeight2(n)
	c := hammingWeight3(n)
	fmt.Println(a, b, c)

	n = 0b00000000000000000000000010000000
	a = hammingWeight1(n)
	b = hammingWeight2(n)
	c = hammingWeight3(n)
	fmt.Println(a, b, c)

	n = 0b11111111111111111111111111111101
	a = hammingWeight1(n)
	b = hammingWeight2(n)
	c = hammingWeight3(n)
	fmt.Println(a, b, c)
}

輸出:

3 3 3
1 1 1
31 31 31


192. 統(tǒng)計(jì)詞頻 Word Frequency

寫一個(gè) bash 腳本以統(tǒng)計(jì)一個(gè)文本文件?words.txt?中每個(gè)單詞出現(xiàn)的頻率。

為了簡(jiǎn)單起見(jiàn),你可以假設(shè):

  • words.txt只包括小寫字母和?' '?。
  • 每個(gè)單詞只由小寫字母組成。
  • 單詞間由一個(gè)或多個(gè)空格字符分隔。

示例:

假設(shè)?words.txt?內(nèi)容如下:

the day is sunny the the
the sunny is is

你的腳本應(yīng)當(dāng)輸出(以詞頻降序排列):

the 4
is 3
sunny 2
day 1

說(shuō)明:

  • 不要擔(dān)心詞頻相同的單詞的排序問(wèn)題,每個(gè)單詞出現(xiàn)的頻率都是唯一的。
  • 你可以使用一行? Unix pipes ?實(shí)現(xiàn)嗎?

代碼:

package main

import (
    "bufio"
    "fmt"
    "os"
    "sort"
    "strings"
)

func main() {
    words := make(map[string]int)

    file, err := os.Open("words.txt")
    if err != nil {
        fmt.Println(err)
    }
    defer file.Close()

    scanner := bufio.NewScanner(file)
    scanner.Split(bufio.ScanWords)

    for scanner.Scan() {
        word := scanner.Text()
        words[word]++
    }

    if err := scanner.Err(); err != nil {
        fmt.Println(err)
    }

    type kv struct {
        Key   string
        Value int
    }

    var ss []kv
    for k, v := range words {
        ss = append(ss, kv{k, v})
    }

    sort.Slice(ss, func(i, j int) bool {
        return ss[i].Value > ss[j].Value
    })

    for _, kv := range ss {
        fmt.Printf("%s %d\n", kv.Key, kv.Value)
    }
}

調(diào)用pipes命令:

package main

import (
    "fmt"
    "os/exec"
    "strings"
)

func main() {
    cmd := exec.Command("bash", "-c", "cat words.txt | awk '{for(i=1; i<=NF; i++) count[$i]++} END {for (w in count) print w, count[w]}'")
    out, err := cmd.Output()
    if err != nil {
        fmt.Println(err)
    }
    lines := strings.Split(string(out), "\n")
    for _, line := range lines {
        if line != "" {
            words := strings.Split(line, " ")
            fmt.Printf("%s %s\n", words[1], words[0])
        }
    }
}

?? 每日一練刷題專欄???

? 持續(xù),努力奮斗做強(qiáng)刷題搬運(yùn)工!

?? 點(diǎn)贊,你的認(rèn)可是我堅(jiān)持的動(dòng)力!?

???收藏,你的青睞是我努力的方向!?

? 評(píng)論,你的意見(jiàn)是我進(jìn)步的財(cái)富!??

??主頁(yè):https://hannyang.blog.csdn.net/?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-456912.html

Golang每日一練(leetDay0065) 位1的個(gè)數(shù)、詞頻統(tǒng)計(jì)

Golang每日一練 專欄

Golang每日一練(leetDay0065) 位1的個(gè)數(shù)、詞頻統(tǒng)計(jì)

Python每日一練 專欄

Golang每日一練(leetDay0065) 位1的個(gè)數(shù)、詞頻統(tǒng)計(jì)

C/C++每日一練 專欄

Golang每日一練(leetDay0065) 位1的個(gè)數(shù)、詞頻統(tǒng)計(jì)

Java每日一練 專欄

到了這里,關(guān)于Golang每日一練(leetDay0065) 位1的個(gè)數(shù)、詞頻統(tǒng)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Golang每日一練(leetDay0116) 路徑交叉、回文對(duì)

    Golang每日一練(leetDay0116) 路徑交叉、回文對(duì)

    目錄 335. 路徑交叉 Self-crossing???????? 336. 回文對(duì) Palindrome Pairs???????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給你一個(gè)整數(shù)數(shù)組? distance ? 。 從? X-Y ?平面上的點(diǎn)? (0,0) ?開始,先向北

    2024年02月12日
    瀏覽(22)
  • Golang每日一練(leetDay0049) 二叉樹專題(9)

    Golang每日一練(leetDay0049) 二叉樹專題(9)

    目錄 144. 二叉樹的前序遍歷 Binary-tree Preorder Traversal???? 145. 二叉樹的前序遍歷 Binary-tree Postorder Traversal???? 對(duì)比: 94. 二叉樹的中序遍歷 Binary-tree Inorder Traversal???? 146. LRU緩存 LRU Cache?????? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一

    2024年02月04日
    瀏覽(30)
  • Golang每日一練(leetDay0102) 刪除無(wú)效的括號(hào)、累加數(shù)

    Golang每日一練(leetDay0102) 刪除無(wú)效的括號(hào)、累加數(shù)

    目錄 295. 數(shù)據(jù)流的中位數(shù) Find-median-from-data-stream??????? 301. 刪除無(wú)效的括號(hào) Remove Invalid Parentheses??????? 306. 累加數(shù) Additive Number????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 中位數(shù) 是有

    2024年02月10日
    瀏覽(27)
  • Golang每日一練(leetDay0098) 生命、Nim、猜數(shù)字游戲

    Golang每日一練(leetDay0098) 生命、Nim、猜數(shù)字游戲

    目錄 289. 生命游戲 Game Of Life?????? 292. Nim 游戲 Nim Game???? 299. 猜數(shù)字游戲 Bulls and Cows?????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 生命游戲 ? 是英國(guó)數(shù)學(xué)家約翰·何頓·康威在 1970 年發(fā)

    2024年02月09日
    瀏覽(21)
  • Golang每日一練(leetDay0061) 表列序號(hào)、階乘后的零

    Golang每日一練(leetDay0061) 表列序號(hào)、階乘后的零

    目錄 171. Excel 表列序號(hào) Excel Sheet Column Number???? 172. 階乘后的零 Factorial Trailing Zeroes?????? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給你一個(gè)字符串? columnTitle ?,表示 Excel 表格中的列名稱。返回? 該列名稱對(duì)

    2024年02月04日
    瀏覽(59)
  • Golang每日一練(leetDay0095) 第一個(gè)錯(cuò)誤的版本、完全平方數(shù)

    Golang每日一練(leetDay0095) 第一個(gè)錯(cuò)誤的版本、完全平方數(shù)

    目錄 278. 第一個(gè)錯(cuò)誤的版本 First Bad Version???? 279. 完全平方數(shù) Perfect Squares?????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 你是產(chǎn)品經(jīng)理,目前正在帶領(lǐng)一個(gè)團(tuán)隊(duì)開發(fā)新的產(chǎn)品。不幸的是,你

    2024年02月09日
    瀏覽(34)
  • Golang每日一練(leetDay0115) 重新安排行程、遞增的三元子序列

    Golang每日一練(leetDay0115) 重新安排行程、遞增的三元子序列

    目錄 332. 重新安排行程 Reconstruct Itinerary???????? 334. 遞增的三元子序列 Increasing Triplet Subsequence????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給你一份航線列表? tickets ?,其中? tickets[i]

    2024年02月16日
    瀏覽(21)
  • Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分

    Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分

    目錄 341. 扁平化嵌套列表迭代器 Flatten Nested List Iterator?????? 343. 整數(shù)拆分 Integer Break?????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給你一個(gè)嵌套的整數(shù)列表? nestedList ?。每個(gè)元素要么是

    2024年02月16日
    瀏覽(54)
  • Golang每日一練(leetDay0075) 打家劫舍II、最短回文串

    Golang每日一練(leetDay0075) 打家劫舍II、最短回文串

    目錄 213. 打家劫舍 II House Robber ii?????? 214. 最短回文串 Shortest Palindrome???????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 你是一個(gè)專業(yè)的小偷,計(jì)劃偷竊沿街的房屋,每間房?jī)?nèi)都藏有一定的

    2024年02月06日
    瀏覽(29)
  • Golang每日一練(leetDay0079) 最大正方形、完全二叉樹節(jié)點(diǎn)數(shù)

    Golang每日一練(leetDay0079) 最大正方形、完全二叉樹節(jié)點(diǎn)數(shù)

    目錄 221. 最大正方形 Maximal Square?????? 222. 完全二叉樹的節(jié)點(diǎn)個(gè)數(shù) Count Complete Tree Nodes?????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 在一個(gè)由? \\\'0\\\' ?和? \\\'1\\\' ?組成的二維矩陣內(nèi),找到只包

    2024年02月08日
    瀏覽(47)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包