1. 程式人生 > 實用技巧 >寫Leetcode 對業務程式碼是幫助的

寫Leetcode 對業務程式碼是幫助的

業務中遇到的表結構以及場景如下:

id name pid
1  A    0
2  A    1
3  A    2
4  B    0
5  B    4
6  B    5
7  C    0
8  D    7
9  E    8

是一個層級結構,名字可能相同,也可能不相同
上面整理出來的資料結構就是這樣的

A
   A
      A
B
   B
      B
C
   D
      E

當前的需求是取出 name 對應第三層的pid和id,以及name 對應第二層的id
我們可以用sql實現
取出第三層對應的資料資訊

select id,name,pid from table where name='A' order by id desc limit 1

取出第二層對應的資料資訊

select id,name,pid from table where name='A' and pid != 0 order by id desc limit 1

從這個需求裡面可以聯想到取出含有重複陣列中第一次出現的數字或者最後一次出現的數字

[1,2,2,2,3,3,5,6]

查找出第一個2所在的索引位置,查找出最後一個2所在的索引位置

這個我們可以直接暴力迴圈求解,也可以使用二分查詢進行求解

總結:

  1. 我們日常業務中也是需要用到資料結構和演算法的,所以打好演算法和資料結構的基本功才能使我們更好的迎接變化

  2. 好的演算法和資料結構一開始都是不容易理解的,不要著急,不要害怕,一點點的瞭解,學習最後到掌握以及靈活運用

  3. Love code And Enjoy it