複原IP地址

来源:https://www.cnblogs.com/ygjzs/archive/2020/01/26/12234814.html
-Advertisement-
Play Games

這道題有點不好理解 ...


這道題有點不好理解

export default (str) => {
  // 保存所有符合條件的IP地址
  let r = []
  // 分四步遞歸處理ip分段
  let search = (cur, sub) => {
    // 邊界條件
    if (cur.length === 4 && cur.join('') === str) {
      r.push(cur.join('.'))
    } else {
      // 正常的處理過程
      for (let i = 0, len = Math.min(3, sub.length), tmp; i < len; i++) {
        tmp = sub.substr(0, i + 1)
        if (tmp < 256) {
          search(cur.concat([tmp]), sub.substr(i + 1))
        }
      }
    }
  }
  search([], str)
  return r
}

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

-Advertisement-
Play Games
更多相關文章
  • 在防火牆中開放埠80和埠22的方法如下: #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT #/etc/rc.d/init.d/ipt ...
  • 本文章簡單的介紹了關於linux下在利用命令來操作apache的基本操作如啟動、停止、重啟等操作,對入門者不錯的選擇。本文假設你的apahce安裝目錄為 usr local apache2,這些方法適合任何情況apahce啟動命令:推薦 本文章簡單的介紹了關於linux下在利用命令來操作apache ...
  • ARM Cortex-M處理器家族發展至今(2020),已有8代產品,除了之前介紹過的CM0/CM0+、CM1、CM3、CM4、CM7,還有主打安全特性的CM23、CM33、CM35P。 ...
  • 一、查看CentOS下是否已安裝mysql 輸入命令 :yum list installed | grep mysql 二、刪除已安裝mysql 輸入命令: yum -y remove mysql 如果有:其他的文件也移除 yum -y remove mysql-libs.x86_64 yum -y ...
  • 本人在虛擬機上又安裝了一臺linux機器,作為MySQL資料庫伺服器用,在安裝時選擇了系統自帶的MySQL伺服器端,以下是啟用步驟。 首先開啟mysqld服務 #service mysqld start 進入/usr/bin目錄#cd /usr/bin 設定mysql資料庫root用戶的密碼#mys ...
  • 一、存儲過程什麼是存儲過程,為什麼要使用存儲過程以及如何使用存儲過程,並且介紹創建和使用存儲過程的基本語法。什麼是存儲過程:存儲過程可以說是一個記錄集,它是由一些T-SQL語句組成的代碼塊,這些T-SQL語句代碼像一個方法一樣實現一些功能(對單表或多表的增刪改查),然後再給這個代碼塊取一個名字,在用... ...
  • 事件操作對象: var EventUrl = { //添加事件 addHandler: function (element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler ...
  • 渲染過程 瀏覽器渲染過程如下: 1. 解析 HTML,生成 DOM 樹,解析 CSS,生成 CSSOM 樹。 2. 將 DOM 樹和 CSSOM 樹結合,生成渲染樹(Render Tree)。 3. Layout(迴流): 根據生成的渲染樹,進行迴流(Layout),得到節點的幾何信息(位置,大小) ...
一周排行
    -Advertisement-
    Play Games
  • 概述:本文代碼示例演示瞭如何在WPF中使用LiveCharts庫創建動態條形圖。通過創建數據模型、ViewModel和在XAML中使用`CartesianChart`控制項,你可以輕鬆實現圖表的數據綁定和動態更新。我將通過清晰的步驟指南包括詳細的中文註釋,幫助你快速理解並應用這一功能。 先上效果: 在 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • 概述:本示例演示了在WPF應用程式中實現多語言支持的詳細步驟。通過資源字典和數據綁定,以及使用語言管理器類,應用程式能夠在運行時動態切換語言。這種方法使得多語言支持更加靈活,便於維護,同時提供清晰的代碼結構。 在WPF中實現多語言的一種常見方法是使用資源字典和數據綁定。以下是一個詳細的步驟和示例源代 ...
  • 描述(做一個簡單的記錄): 事件(event)的本質是一個委托;(聲明一個事件: public event TestDelegate eventTest;) 委托(delegate)可以理解為一個符合某種簽名的方法類型;比如:TestDelegate委托的返回數據類型為string,參數為 int和 ...
  • 1、AOT適合場景 Aot適合工具類型的項目使用,優點禁止反編 ,第一次啟動快,業務型項目或者反射多的項目不適合用AOT AOT更新記錄: 實實在在經過實踐的AOT ORM 5.1.4.117 +支持AOT 5.1.4.123 +支持CodeFirst和非同步方法 5.1.4.129-preview1 ...
  • 總說周知,UWP 是運行在沙盒裡面的,所有許可權都有嚴格限制,和沙盒外交互也需要特殊的通道,所以從根本杜絕了 UWP 毒瘤的存在。但是實際上 UWP 只是一個應用模型,本身是沒有什麼許可權管理的,許可權管理全靠 App Container 沙盒控制,如果我們脫離了這個沙盒,UWP 就會放飛自我了。那麼有沒... ...
  • 目錄條款17:讓介面容易被正確使用,不易被誤用(Make interfaces easy to use correctly and hard to use incorrectly)限制類型和值規定能做和不能做的事提供行為一致的介面條款19:設計class猶如設計type(Treat class de ...
  • title: 從零開始:Django項目的創建與配置指南 date: 2024/5/2 18:29:33 updated: 2024/5/2 18:29:33 categories: 後端開發 tags: Django WebDev Python ORM Security Deployment Op ...
  • 1、BOM對象 BOM:Broswer object model,即瀏覽器提供我們開發者在javascript用於操作瀏覽器的對象。 1.1、window對象 視窗方法 // BOM Browser object model 瀏覽器對象模型 // js中最大的一個對象.整個瀏覽器視窗出現的所有東西都 ...