Algorithm
lc857_雇佣K名工人的最低成本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
func mincostToHireWorkers(quality, wage []int, k int) float64 { n := len(quality) h := make([]int, n) for i := range h { h[i] = i } sort.Slice(h, func(i, j int) bool { a, b := h[i], h[j] return quality[a]*wage[b] > quality[b]*wage[a] }) totalq := 0 q := hp{} for i := 0; i < k-1; i++ { totalq += quality[h[i]] heap.Push(&q, quality[h[i]]) } ans := 1e9 for i := k - 1; i < n; i++ { idx := h[i] totalq += quality[idx] heap.Push(&q, quality[idx]) ans = math.Min(ans, float64(wage[idx])/float64(quality[idx])*float64(totalq)) totalq -= heap.Pop(&q).(int) } return ans }
type hp struct{ sort.IntSlice }
func (h hp) Less(i, j int) bool { return h.IntSlice[i] > h.IntSlice[j] } func (h *hp) Push(v interface{}) { h.IntSlice = append(h.IntSlice, v.(int)) } func (h *hp) Pop() interface{} { a := h.IntSlice v := a[len(a)-1] h.IntSlice = a[:len(a)-1] return v }
|
Review
【TED演讲】经济增长停滞不前,我们如何修复它
国家和企业以及一些其他的组织,应该打开心胸,通力合作,帮助较贫困的人群提升创造价值的能力,这样才能使得整体的经济上升,才能让人们生活更加幸福,社会更加稳定
Tips
如何选择团队
Share-斯多葛主义看书思考分享
对于我们无法控制的事情,我们应该尽量不要去关注,比如看lol电子竞技的时候,我们完全无法决定哪个队会赢,哪个队会输,所以观看这个比赛的时候,不要过分期望某一个队伍的输赢,而是去学习里面的战术,里面的竞技精神,里面的一些感动人心的事情,去获取一些自身的精神上的一些快乐和成长。以及增加自己的一些大局观。
但是目前看来,这些比赛,其实大量结果都是我们控制不了的,所以不看相对来说更好,不如自己打一把游戏,或者去做一些自己能够控制的,让自己未来更到更舒服的事情反而会变得更好,嗯嗯,确实如此。
所以还是多看书,锻炼身体比较好。