leetcode816. 模糊坐標

我們有一些二維坐標,如 “(1, 3)” 或 “(2, 0.5)”,然后我們移除所有逗號,小數點和空格,得到一個字符串S。返回所有可能的原始字符串到一個列表中。

原始的坐標表示法不會存在多余的零,所以不會出現類似于"00", “0.0”, “0.00”, “1.0”, “001”, "00.01"或一些其他更小的數來表示坐標。此外,一個小數點前至少存在一個數,所以也不會出現“.1”形式的數字。

最后返回的列表可以是任意順序的。而且注意返回的兩個數字中間(逗號之后)都有一個空格。

示例 1:
輸入: “(123)”
輸出: ["(1, 23)", “(12, 3)”, “(1.2, 3)”, “(1, 2.3)”]

特殊處理的情況(不能隨意插入小數點)

  1. 頭尾都為0的情況
  2. 第一個數字為0的情況
  3. 末尾為0或者只有一個0的情況

代碼

class Solution {public List<String> ambiguousCoordinates(String S) {List<String> list=new ArrayList<>();for(int i=1;i< S.length()-2;i++)//將字符串分割成兩部分{List<String> l=divAmbiguousCoordinates(S,1,i);List<String> r=divAmbiguousCoordinates(S,i+1, S.length()-2);for(int k=0;k<l.size();k++)//連接兩部分for(int j=0;j<r.size();j++)list.add('('+l.get(k)+", "+r.get(j)+')');}return list;}public List<String> divAmbiguousCoordinates(String S,int s,int e) {List<String> list=new ArrayList<>();if(S.charAt(s)=='0'&&S.charAt(e)=='0'&&s!=e) return list;//頭尾都為0的情況else  if(S.charAt(s)=='0'&&s!=e)   {//第一個數字為0的情況list.add("0."+S.substring(s+1,e+1));return list;}        else  if(S.charAt(e)=='0')   {//末尾為0或者只有一個0的情況list.add(S.substring(s,e+1));return list;} else {//可以隨意插入小數點的情況list.add(S.substring(s,e+1));//不插入for(int i=s;i<e;i++)//在i后插入{list.add(S.substring(s,i+1)+'.'+S.substring(i+1,e+1));}return list;}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393174.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393174.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393174.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IO流入門-第十二章-ObjectInputStream_ObjectOutputStream

DataInputStream和DataOutputStream基本用法和方法示例&#xff0c;序列化和反序列化 import java.io.Serializable; //該接口是一個“可序列化”的 &#xff0c;沒有任何方法&#xff0c;是一個標識接口&#xff0c;還有Cloneable /*標識接口的作用&#xff1a;標識作用…

matlab pca重構,Matlab – PCA分析和重建多維數據

這是一個快速的演練.首先我們創建一個隱藏變量的矩陣.它有100個觀察,有兩個特點.>> Y randn(100,2);現在創建一個加載矩陣.這將把隱藏的變量映射到觀察到的變量上.說你觀察到的變量有四個特征.那么你的加載矩陣需要是24>> W [1 1; 1 -1; 2 1; 2 -1];這告訴你,觀察…

文檔對象模型dom_什么是文檔對象模型,以及為什么應該知道如何使用它。

文檔對象模型domby Leonardo Maldonado萊昂納多馬爾多納多(Leonardo Maldonado) 什么是文檔對象模型&#xff0c;以及為什么應該知道如何使用它。 (What’s the Document Object Model, and why you should know how to use it.) So, you’ve studied HTML, you’ve created y…

安裝Docker step by step

1. 系統要求 centos7以上 使用cat /etc/redhat-release查看系統版本&#xff0c;我的Centos 7.6 centos-extra 倉庫 enable&#xff0c;默認是打開的 2.安裝docker docer安裝分為聯網安裝和離線安裝兩種安裝 方式&#xff0c; 第一種 在有外網環境下安裝docker,一般使用yum安…

linux用戶空間和內核exit的語義--linux沒有線程

如果你在程序中調用了exit&#xff0c;那么很顯然你的程序會退出&#xff0c;可是至于為何會退出那就是庫的事情了&#xff0c;我為什么說只是庫的事情而不關linux內核的事情呢&#xff1f;那是因為linux內核根本不管用戶空間的行為策略。庫的策略是什么&#xff1f;很簡單的退…

leetcode1328. 破壞回文串

給你一個回文字符串 palindrome &#xff0c;請你將其中 一個 字符用任意小寫英文字母替換&#xff0c;使得結果字符串的字典序最小&#xff0c;且 不是 回文串。 請你返回結果字符串。如果無法做到&#xff0c;則返回一個空串。 示例 1&#xff1a; 輸入&#xff1a;palindro…

php補充 擴展,PHP安裝擴展補充說明

上一篇文章中用到了&#xff0c;php的sodium擴展&#xff0c;那么如何安裝PHP擴展呢&#xff1f;基于我之前踩過的一些坑&#xff0c;大致整理了幾種安裝php擴展的方法。已安裝sodium為例1、先做點準備工作&#xff0c;安裝sodium依賴rpm -ivh http://mirrors.whsir.com/centos…

Java調用存儲過程出現Bug,sql語法錯誤

因為SQL Server運行沒有正常,檢查了傳入參數的值,發現問題,然后傳入默認參數,解決了問題.轉載于:https://www.cnblogs.com/JimmySeraph/p/11043490.html

leetcode1438. 絕對差不超過限制的最長連續子數組

給你一個整數數組 nums &#xff0c;和一個表示限制的整數 limit&#xff0c;請你返回最長連續子數組的長度&#xff0c;該子數組中的任意兩個元素之間的絕對差必須小于或者等于 limit 。 如果不存在滿足條件的子數組&#xff0c;則返回 0 。 示例 1&#xff1a; 輸入&#…

gitlab 2.7版本升級到2.8

第一步 關閉服務 /etc/init.d/gitlab stop第二部 更新代碼cd /home/gitlab/gitlab# Get latest codesudo -u gitlab git pull origin stable# Install libssudo -u gitlab bundle install --without development test# update dbsudo -u gitlab bundle exec rake db:migrate RA…

arkit技術介紹_面向移動AR的觸覺技術:如何以“觸摸”感增強ARKit應用

arkit技術介紹by Neil Mathew通過尼爾馬修(Neil Mathew) 面向移動AR的觸覺技術&#xff1a;如何以“觸摸”感增強ARKit應用 (Haptics for mobile AR: how to enhance ARKit apps with a sense of “touch”) I’m really excited about the future of haptics for AR and VR. …

Unity3D的坑系列:動態加載dll

Unity3D的坑系列&#xff1a;動態加載dll 我現在參與的項目是做MMO手游&#xff0c;目標平臺是Android和iOS&#xff0c;iOS平臺不能動態加載dll&#xff08;什么原因找喬布斯去&#xff09;&#xff0c;可以直接忽略&#xff0c;而在Android平臺是可以動態加載dll的&#xff0…

微信小程序 php配置,微信小程序的配置

我們使用app.json文件來對微信小程序進行全局配置&#xff0c;決定頁面文件的路徑、窗口表現、設置網絡超時時間、設置多 tab 等。以下是一個包含了所有配置選項的簡單配置app.json{"pages": ["pages/index/index","pages/logs/index"],"wi…

leetcode332. 重新安排行程(dfs)

給定一個機票的字符串二維數組 [from, to]&#xff0c;子數組中的兩個成員分別表示飛機出發和降落的機場地點&#xff0c;對該行程進行重新規劃排序。所有這些機票都屬于一個從 JFK&#xff08;肯尼迪國際機場&#xff09;出發的先生&#xff0c;所以該行程必須從 JFK 開始。 …

PWA - service worker - Workbox(未完)

Get Started&#xff08;開始&#xff09; 只有get請求才能cache緩存嗎&#xff1f;Create and Register a Service Worker File&#xff08;創建和注冊 Service Worker&#xff09; Before we can use Workbox, we need to create a service worker file and register it to o…

draft.js_如何使用快捷方式在Draft.js中創建有序列表和無序列表

draft.jsby Andrey Semin通過安德烈塞米(Andrey Semin) 如何使用快捷方式在Draft.js中創建有序列表和無序列表 (How to create ordered and unordered lists in Draft.js with a shortcut) We at Propeller have encountered many differences between Draft.js and popular t…

當javaScript從入門到提高前需要注意的細節:變量部分

到了HTML5的時代&#xff0c;對javaScript的要求不是降低了&#xff0c;而是更提高了。javaScript語言的入門非常簡單&#xff0c;如果你有java、C#等C風格的結構化語言的基礎&#xff0c;那javaScript你最多半天就可以寫點什么了。但是javaScript是一種動態語言&#xff0c;這…

PAT乙級 1003. 我要通過!

題目&#xff1a; “答案正確”是自動判題系統給出的最令人歡喜的回復。本題屬于PAT的“答案正確”大派送 —— 只要讀入的字符串滿足下列條件&#xff0c;系統就輸出“答案正確”&#xff0c;否則輸出“答案錯誤”。 得到“答案正確”的條件是&#xff1a; 1. 字符串中必須僅有…

電臺復活節_如何通過在控制臺中隱藏復活節彩蛋使您的應用程序用戶驚訝

電臺復活節by Ethan Ryan由伊桑瑞安(Ethan Ryan) 如何通過在控制臺中隱藏復活節彩蛋使您的應用程序用戶驚訝 (How to surprise your app’s users by hiding Easter eggs in the console) I love console.logging(“stuff”).我喜歡console.logging(“ stuff”)。 I do it th…

leetcode1267. 統計參與通信的服務器(dfs)

這里有一幅服務器分布圖&#xff0c;服務器的位置標識在 m * n 的整數矩陣網格 grid 中&#xff0c;1 表示單元格上有服務器&#xff0c;0 表示沒有。 如果兩臺服務器位于同一行或者同一列&#xff0c;我們就認為它們之間可以進行通信。 請你統計并返回能夠與至少一臺其他服務…