今天在MSDN論壇中看到這樣的一個問題,覺得非常鍛煉思維能力,所以這里記錄下來作為備份,題目的要求是這樣的:
假設有一組字符串數組{"0","0","1","2","3",“0”,"4","0","0"},如何查找使0等于離它最近的且不為0的元素,如果離它最近的不為0的元素有兩個,則等于上一個元素,即想得到重新賦值后這樣的數組{"1","1","1","2","3",“3”,"4","4","4"}
這里的實現思路摘自論壇中 zjyh26的回復,實現思路為:
1. 首先對數組里面的數字進行一次遍歷,如果當前的值不為“0”把值添加進的結果數組中,否則對它進行處理。
2. 處理不為“0”的值的時候,用一種“等距離比較”的方法,找出等距離內的左右2個值,優先看左邊的值是否為“0”,如果是的話跳過,如果不是的話將結果數組內的當前值替換為此值。
3. 距離(就是代碼里面的j)的大值為數組長度減去1,遍歷的時候注意i-j的值不小于0,i+j的值要小于數組長度。
創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。
網頁標題:[C#開發技巧]如何使不符合要求的元素等于離它最近的一個元素-創新互聯
標題路徑:http://m.kartarina.com/article20/cdsojo.html
成都網站建設公司_創新互聯,為您提供虛擬主機、微信小程序、網站制作、建站公司、網站設計公司、品牌網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯