題目描述:
給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。
若可行,輸出任意可行的結果。若不可行,返回空字串。
示例 1:
輸入: s = 「aab」
輸出: 「aba」
示例 2:
輸入: s = 「aaab」
輸出: 「」
注意:s 只包含小寫字母並且長度在[1, 500]區間內。
分析:首先通過乙個字典對字串中的所有進行乙個整合,然後判斷是否滿足重構條件,然後將儲存值和次數的結構體進行排序,從大到小,每次取除乙個間隔插入結果陣列中,知道所有的字元都插完為止。
**:
type node struct
func reorganizestring(s string) string
}t:=len(s)/2
if len(s)%2>0
if max>t
n:=make(node,0,len(m)) //儲存字元和個數
for k,v:=range m
sort.slice(n,func(i,j int)bool)
idx:=0
res:=make(byte,len(s))
for i:=0;i0
count--}}
return string(res) //合併成字串返回
}
題目描述:
給出乙個區間的集合,請合併所有重疊的區間。
示例 1:
輸入: [[1,3],[2,6],[8,10],[15,18]]
輸出: [[1,6],[8,10],[15,18]]
解釋: 區間 [1,3] 和 [2,6] 重疊, 將它們合併為 [1,6].
示例 2:
/**
* definition for an interval.
* type interval struct
*/func merge(intervals interval) interval
sort(intervals)
res:=interval{}
for i:=1;iintervals[j].start
}intervals[i],intervals[min]=swap(intervals[i],intervals[min])
}}func swap(a,b interval)(interval,interval)
func max(a,b int)int
return b
}
題目描述:給出乙個無重疊的 ,按照區間起始端點排序的區間列表。
在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊(如果有必要的話,可以合併區間)。
示例 1:
輸入: intervals = [[1,3],[6,9]], newinterval = [2,5]
輸出: [[1,5],[6,9]]
示例 2:
輸入: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newinterval = [4,8]
輸出: [[1,2],[3,10],[12,16]]
解釋: 這是因為新的區間 [4,8] 與 [3,5],[6,7],[8,10] 重疊。
分析:這個題和上面的類似,只是這個是有序的,只是要插入乙個區間,所以先判斷插入區間與給定區間的位置關係,進行不同的操作,插入進給定陣列中,在進行合併,過程差不多,看**就能明白。
**:
/**
* definition for an interval.
* type interval struct
*/func insert(intervals interval, newinterval interval) interval
if n==0
flag:=0
if newinterval.start=intervals[len(intervals)-1].startelse
n=len(intervals)
if flag==0
return b
}
每日演算法 day 40
那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.3.25 最後乙個資料點卡著時間ac了差了幾十毫秒 本來想吸一口氧氣的結果不吸氧氣...
4 0 高階程式設計 Reflection
system.type類 1.屬性 許多布林屬性表示這種型別是乙個類還是乙個列舉等等。這些特性包括isabstract,isclass等等 type vectype typeof vector console.writeline vectype.isabstract return false con...
每日程式設計 (三十)
題目描述 給定 pushed 和 popped 兩個序列,只有當它們可能是在最初空棧上進行的推入 push 和彈出 pop 操作序列的結果時,返回 true 否則,返回 false 示例 1 輸入 pushed 1,2,3,4,5 popped 4,5,3,2,1 輸出 true 解釋 我們可以按以...