当前位置:网站首页>Leetcode:20220213 week race (less bugs, top 10% 555)
Leetcode:20220213 week race (less bugs, top 10% 555)
2022-07-06 00:19:00 【White speed Dragon King's review】

Ideas :
1. Divide the odd and even statistical data frequency
2. Then see if they are equal
3. Take down one as appropriate
src:
lass Solution:
def minimumOperations(self, nums: List[int]) -> int:
num1 = nums[::2]
num2 = nums[1::2]
n1 = len(num1)
n2 = len(num2)
if n1 * n2 == 0:
return 0
cnt1 = defaultdict(int)
for num in num1:
cnt1[num] += 1
cnt2 = defaultdict(int)
for num in num2:
cnt2[num] += 1
sort1 = sorted(cnt1.items(),key=lambda x:x[1],reverse=True) # Sort in descending order according to word frequency
sort2 = sorted(cnt2.items(),key=lambda x:x[1],reverse=True) # Sort in descending order according to word frequency
has = 0
if sort1[0][0] != sort2[0][0]:
has = sort1[0][1] + sort2[0][1]
else:
if len(sort1) == 1 and len(sort2) == 1:
has = max(sort1[0][1], sort2[0][1])
elif len(sort1) == 1:
has = sort1[0][1] + sort2[1][1]
elif len(sort2) == 1:
has = sort2[0][1] + sort1[1][1]
else:
if sort1[1][1] + sort2[0][1] > sort1[0][1] + sort2[1][1]:
has = sort1[1][1] + sort2[0][1]
else:
has = sort1[0][1] + sort2[1][1]
return n1 + n2 - has

Ideas :
Solve the absolute value equation , Given x
If greater than or equal to x, Make a difference ; If less than x, Then take the sum of this number 0 Distance of
By traversing x, You can get the smallest ans
Be careful , You don't need to calculate every traversal , It only needs - some + Just some , This is the charm of the mixture of absolute value function and traversal
src:
class Solution:
def minimumRemoval(self, beans: List[int]) -> int:
# All become the smallest or Minimal change 0
beans.sort()
n = len(beans)
#print(beans)
# Determine a value x, Less than it, add it all , If it is greater than it, take the difference
temp = 0
x = beans[0]
index = 0
ans = 0xffffffff
for num in beans:
temp += num - x
ans = min(ans, temp)
while index < n:
nextIndex = index
while nextIndex < n and beans[nextIndex] == x:
nextIndex += 1
if nextIndex >= n:
break
temp += x * (nextIndex - index)
y = beans[nextIndex]
temp -= (y - x) * (n - nextIndex)
ans = min(ans, temp)
x = y
index = nextIndex
return ans
summary :
without bug, Just before 300 了 , It's all because the second question is wrong index
边栏推荐
- Chapter 16 oauth2authorizationrequestredirectwebfilter source code analysis
- SQLServer连接数据库读取中文乱码问题解决
- 关于结构体所占内存大小知识
- 《编程之美》读书笔记
- QT--线程
- [binary search tree] add, delete, modify and query function code implementation
- Codeforces round 804 (Div. 2) [competition record]
- LeetCode 斐波那契序列
- Miaochai Weekly - 8
- Gd32f4xx UIP protocol stack migration record
猜你喜欢

上门预约服务类的App功能详解

Recognize the small experiment of extracting and displaying Mel spectrum (observe the difference between different y_axis and x_axis)

Mysql - CRUD

多普勒效應(多普勒頻移)

Configuring OSPF GR features for Huawei devices

Miaochai Weekly - 8

FFmpeg学习——核心模块

Teach you to run uni app with simulator on hbuilderx, conscience teaching!!!

软件测试工程师必会的银行存款业务,你了解多少?

Go learning - dependency injection
随机推荐
Global and Chinese markets for hinged watertight doors 2022-2028: Research Report on technology, participants, trends, market size and share
云呐|固定资产管理系统主要操作流程有哪些
Learn PWN from CTF wiki - ret2libc1
Search (DFS and BFS)
如何利用Flutter框架开发运行小程序
[designmode] adapter pattern
[online chat] the original wechat applet can also reply to Facebook homepage messages!
Priority queue (heap)
N1 # if you work on a metauniverse product [metauniverse · interdisciplinary] Season 2 S2
Notepad++ regular expression replacement string
Hardware and interface learning summary
[QT] QT uses qjson to generate JSON files and save them
Notepad + + regular expression replace String
MySQL之函数
【二叉搜索树】增删改查功能代码实现
About the slmgr command
mysql-全局锁和表锁
shardingsphere源码解析
Configuring OSPF GR features for Huawei devices
常用API类及异常体系