計算出給你一個隨機亂敲的一個字元串最多的一個

来源:http://www.cnblogs.com/zhangzongle/archive/2016/06/06/5562902.html
-Advertisement-
Play Games

前幾天在學習js的時候,碰到了這樣一道面試題,要求計算出給你一個隨機亂敲的一個字元串,要求在其中找出那個字元出現的次數最多,以及出現的個數。 這你有兩種方案,請大家仔細閱讀,有可能在你將來的面試中會碰到。 一: 二: 謝!轉:http://www.cnblogs.com/heyongjun1997/ ...


    前幾天在學習js的時候,碰到了這樣一道面試題,要求計算出給你一個隨機亂敲的一個字元串,要求在其中找出那個字元出現的次數最多,以及出現的個數。

這你有兩種方案,請大家仔細閱讀,有可能在你將來的面試中會碰到。

一:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
      <script type="text/javascript">
        //給定一個字元串,需要在其中找出哪個字元出現的次數最多,並且計算出這個字元出現的總次數
        //01自定義一個字元串
        var str = "fjalsfj1fds;lafsafafafasfas";
        /*
        02.JSON定義法類似於直接定義法,JSON定義法就是將直接定義法定義的函數與屬性放到大括弧中,
        並且去掉屬性與函數簽名的對象名,把等於號改為了冒號,每行後面改為逗號!
        */
        var json = {};
        //03遍歷str字元串
        for (var i = 0; i < str.length; i++) {
            /*04.str.charAt(i):在字元串中取出對應的i處的索引的字元串。
                判斷當前元素是否已經在數組中存在
            */
            if (!json[str.charAt(i)]) {
                json[str.charAt(i)] = 1;//05給對應數組元素中個數賦值
            } else {
                json[str.charAt(i)]++;
            }
        }
        var iMax = 0;//出現次數
        var iIndex = "";//元素名稱
        for (var i in json) {//重新賦值出現最多的元素
            if(json[i]>iMax){
                iMax = json[i];
                iIndex = i;
            }
        }
        alert("出現次數最多的是:"+iIndex+"出現"+iMax+"次");


    </script>
</head>
<body>

</body>
</html>

二:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script type="text/javascript">
        var str = "adadfdfseffserfefsefseeffffftsdg"; //命名一個變數放置給出的字元串 
        var maxLength = 0; //命名一個變數放置字母出現的最高次數並初始化為0 
        var result = ''; //命名一個變數放置結果輸入   

        while (str != '') { //迴圈迭代開始,並判斷字元串是否為空 
            oldStr = str; //將原始的字元串變數賦值給新變數 
            getStr = str.substr(0, 1); //用字元串的substr的方法得到第一個字元(首字母) 
            eval("str = str.replace(/" + getStr + "/g,'')");

            if (oldStr.length - str.length > maxLength) { //判斷原始的字元串的長度減去替代後字元串長度是否大於之前出現的最大的字元串長度 
                maxLength = oldStr.length - str.length; //兩字元串長度相減得到最大的字元串長度 
                result = getStr + "=" + maxLength //返回最大的字元串結果(字母、出現次數) 
            }
        }
        alert(result) //彈出結果  
</script>
</head>
<body>

</body>
</html>

謝!轉:http://www.cnblogs.com/heyongjun1997/p/5556164.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • <?php //php操作memcache的使用測試總結--學習 //1 Memcache::connect; //$memcache = new Memcache; //$memcache->connect('127.0.0.1',11211) or die("鏈接失敗!"); //2 Memca ...
  • 某個子站是php寫的,訪問的時候nginx時不時會冒出現502錯誤,高峰時更頻繁,檢查php-fpm的日誌發現大量的 child exited on signal 7 (SIGBUS),並且和accesslog里的502時間完全吻合,排除了php進程過載的可能,然後又排除了apc的嫌疑。 既然php ...
  • ...
  • 第2天 棧和寄存器 多文件編程 筆者在私下和很多C語言的愛好者和初學者交流的過程中發現,大家已經能夠使用C語言做出來很出色的程式了。但是這些出色的程式中的一部分竟然只有一個源文件。所以,筆者決定要介紹一下如何使用多個源文件進行編程。不得不說,多文件編程有非常多的優勢。比如在維護上非常方便,同時也給多 ...
  • 上一篇文章主要是講了mybatis-generator-core-1.3.2.jar的使用,這一篇我要介紹的是,修改jar包代碼,實現生成自定義模板。 1.我們從這裡可以下載mybatis-generator-core-1.3.2.jar項目源碼 http://maven.outofmemory.c ...
  • 看了網上一些文章,做了點總結,順便再加點自己的東西,簡單的說下。 1.利用瀏覽器的304緩存,但是304叫協商緩存,還是需要與伺服器通信一次 2.強制使用瀏覽器使用本地緩存(cache-control/expires),但是問題來了,不讓瀏覽器發資源請求,資源怎麼更新。 3.使用版本號,類似於a.c ...
  • 一、 java的基本程式設計結構 (一) java共有8種基本類型:4種整型,2種浮點類型,1種char,1種boolean。 1) 4種整型:byte(1)、short(2)、int(4)、long(8)。 2) int最常用,byte和short常用在底層的文件處理或者需要控制占用存儲空間量的大 ...
  • 每次回到宿舍想看部電影才發現很長時間沒有去bt站淘種子了, 然而天天去站上找適合自己類型的電影又是一件費時又費力的事兒, 所以周末花時間寫了一個可配置的爬子, 能夠根據不同人的不同需求去自動下載種子文件, 並且能夠避免不同分類中的重覆電影 後期還會加入下載隊列的功能, 在檢測宿舍無人用網的時候開啟b ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...