chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

LeetCode初級(jí)算法-設(shè)計(jì)問題01:Shuffle an Array (打亂數(shù)組)

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-10 22:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

LeetCode初級(jí)算法--設(shè)計(jì)問題01:Shuffle an Array (打亂數(shù)組)

一、引子

這是由LeetCode官方推出的的經(jīng)典面試題目清單~
這個(gè)模塊對(duì)應(yīng)的是探索的初級(jí)算法~旨在幫助入門算法。我們第一遍刷的是leetcode推薦的題目。

二、題目

打亂一個(gè)沒有重復(fù)元素的數(shù)組。

示例:

// 以數(shù)字集合 1, 2 和 3 初始化數(shù)組。
int[] nums = {1,2,3};
Solution solution = new Solution(nums);

// 打亂數(shù)組 [1,2,3] 并返回結(jié)果。任何 [1,2,3]的排列返回的概率應(yīng)該相同。
solution.shuffle();

// 重設(shè)數(shù)組到它的初始狀態(tài)[1,2,3]。
solution.reset();

// 隨機(jī)返回?cái)?shù)組[1,2,3]打亂后的結(jié)果。
solution.shuffle();

1、思路

遍歷數(shù)組每個(gè)位置,每次都隨機(jī)生成一個(gè)坐標(biāo)位置,然后交換當(dāng)前位置和隨機(jī)位置的數(shù)字,這樣如果數(shù)組有n個(gè)數(shù)字,那么也隨機(jī)交換了n組位置,從而達(dá)到了洗牌的目的。

2、編程實(shí)現(xiàn)

python

class Solution(object):

    def __init__(self, nums):
        """
        :type nums: List[int]
        """
        self.data = nums

    def reset(self):
        """
        Resets the array to its original configuration and return it.
        :rtype: List[int]
        """
        return self.data

    def shuffle(self):
        """
        Returns a random shuffling of the array.
        :rtype: List[int]
        """
        # 方法一:
        # ans = copy.deepcopy(self.data)
        # random.shuffle(ans)
        # return ans
        #方法二
        ans = copy.deepcopy(self.data)
        for i in range(len(ans)):
            j = random.randint(i, len(ans)-1)
            ans[i], ans[j] = ans[j], ans[i]
        return ans


# Your Solution object will be instantiated and called as such:
# obj = Solution(nums)
# param_1 = obj.reset()
# param_2 = obj.shuffle()

本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布!

審核編輯 黃昊宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1811

    文章

    49497

    瀏覽量

    258152
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8528

    瀏覽量

    135861
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5586

    瀏覽量

    123635
  • leetcode
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    2494
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    pads9.5在creat array時(shí),會(huì)打亂我排列好的元器件,是怎么回事?

    ` 本帖最后由 a3531517 于 2015-12-30 17:32 編輯 pads9.5在creat array時(shí),會(huì)打亂我排列好的元器件,是怎么回事?`
    發(fā)表于 12-30 17:30

    請(qǐng)教大神關(guān)于IMAQ模塊中的問題:IMAQCreate與 IMAQ Image To Array函數(shù)的算法原理是什么?

    原理與MATLAB中的rgb2gray函數(shù)有區(qū)別嗎?IMAQ Image To Array函數(shù)是怎么講圖片轉(zhuǎn)成像素灰度的二維數(shù)組呢?其算法原理有是什么呢?謝謝。
    發(fā)表于 03-12 14:11

    詳解Spark Shuffle原理及Shuffle操作問題解決

    Spark Shuffle原理、Shuffle操作問題解決和參數(shù)調(diào)優(yōu)
    發(fā)表于 04-29 17:11

    請(qǐng)問LeetCode448如何找到所有數(shù)組中消失的數(shù)字?

    LeetCode448如何找到所有數(shù)組中消失數(shù)字的方法
    發(fā)表于 11-05 07:46

    Java數(shù)組算法試題

    Java數(shù)組算法試題Java數(shù)組算法試題Java數(shù)組算法試題
    發(fā)表于 01-15 16:16 ?0次下載

    一種散亂數(shù)據(jù)點(diǎn)云快速簡(jiǎn)化算法_遲源

    一種散亂數(shù)據(jù)點(diǎn)云快速簡(jiǎn)化算法_遲源
    發(fā)表于 03-19 11:46 ?0次下載

    LeetCode 215. Kth Largest Element in an Array

    LeetCode 215. Kth Largest Element in an ArrayDescription Find the kth largest element
    發(fā)表于 01-17 01:46 ?527次閱讀

    LabVIEW初級(jí)教程之數(shù)組和簇的相關(guān)例程免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是LabVIEW初級(jí)教程之數(shù)組和簇的相關(guān)例程免費(fèi)下載。
    發(fā)表于 01-15 09:59 ?22次下載
    LabVIEW<b class='flag-5'>初級(jí)</b>教程之<b class='flag-5'>數(shù)組</b>和簇的相關(guān)例程免費(fèi)下載

    LeetCode初級(jí)算法-其他02:有效的括號(hào)

    搜索微信公眾號(hào):'AI-ming3526'或者'計(jì)算機(jī)視覺這件小事' 獲取更多算法、機(jī)器學(xué)習(xí)干貨 csdn:[鏈接] csdn:[鏈接] github:[鏈接]
    的頭像 發(fā)表于 12-10 22:17 ?515次閱讀

    LeetCode初級(jí)算法-其他01:位1的個(gè)數(shù)

    搜索微信公眾號(hào):'AI-ming3526'或者'計(jì)算機(jī)視覺這件小事' 獲取更多算法、機(jī)器學(xué)習(xí)干貨 csdn:[鏈接] csdn:[鏈接] github:[鏈接]
    的頭像 發(fā)表于 12-10 22:17 ?589次閱讀

    LeetCode初級(jí)算法-設(shè)計(jì)問題02:最小棧

    搜索微信公眾號(hào):'AI-ming3526'或者'計(jì)算機(jī)視覺這件小事' 獲取更多算法、機(jī)器學(xué)習(xí)干貨 csdn:[鏈接] csdn:[鏈接] github:[鏈接]
    的頭像 發(fā)表于 12-10 22:21 ?625次閱讀

    LeetCode初級(jí)算法-動(dòng)態(tài)規(guī)劃01:爬樓梯

    搜索微信公眾號(hào):'AI-ming3526'或者'計(jì)算機(jī)視覺這件小事' 獲取更多算法、機(jī)器學(xué)習(xí)干貨 csdn:[鏈接] csdn:[鏈接] github:[鏈接]
    的頭像 發(fā)表于 12-10 22:21 ?692次閱讀

    ARRAY 數(shù)據(jù)類型的變量

    中,系統(tǒng)將提供自動(dòng)完成功能。 將打開“數(shù)組”對(duì)話框。 在“數(shù)據(jù)類型”文本框中,指定數(shù)組元素的數(shù)據(jù)類型。 在“ARRAY 限值”(ARRAY limits) 輸入字段中,指定各維度的上限
    的頭像 發(fā)表于 07-06 11:08 ?2147次閱讀

    ?數(shù)組和C++ std::array詳解

    std::array是C++容器庫提供的一個(gè)固定大小數(shù)組的容器。其與內(nèi)置的數(shù)組相比,是一種更安全、更容易使用的數(shù)組類型。
    的頭像 發(fā)表于 07-19 11:02 ?1686次閱讀
    ?<b class='flag-5'>數(shù)組</b>和C++ std::<b class='flag-5'>array</b>詳解

    什么是數(shù)組數(shù)組有什么用?數(shù)組的使用方法

    數(shù)組Array)是有序的元素序列。
    的頭像 發(fā)表于 11-08 14:58 ?2300次閱讀
    什么是<b class='flag-5'>數(shù)組</b>?<b class='flag-5'>數(shù)組</b>有什么用?<b class='flag-5'>數(shù)組</b>的使用方法