算法笔记day3

本文探讨了字符串处理中的字符计数和分组算法,通过实例展示了如何利用strlen函数确定数组长度,并结合哈希数组实现快速查找重复字符。同时,介绍了如何使用groupby进行员工ID和日期的分组,计算累计时长,解决实际问题。关键知识点包括strlen、哈希数组、groupby和数组嵌套技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6e6db5093b7d4e0fb9f3bedb8f5c3586.png 

 

db1858a852784623bbc1894ab2c127a1.png 

 

思路:

(图二为最开始思路因为运行时间太长改进为图二)

图1将相应数字存入相应数组如:1存入a[1 ],若a [i]>1则出现多次输出nums[i]

图2是将数组中的每个元素挨个进行比较(优点是可以找出全部相同的数 缺点是数据多了运行时间过长时间复杂度为O(n^2))

参考

a6f490ba252245c3a99f33eb83cac12f.png

知识点:

strlen(数组/字符串)求长度

思路: 

用strlen求出数组长度用来控制循环,新建2个数组存放字母(26个字母所以长度为26,初值为0表示没存字母),如果ransomNote的长度大于magazine的长度则不满足题目意思输出false,然后利用循环求出相应数组中对应字母的个数(例如hashr [ransomNote[i]-'a']++;若ransomNote中第i个元素为a,则hashr[0]等于1),然后利用循环判断hashr和hashm中每个元素的大小,若hashr[i]>hashm[i],则不满足题目意思输出false,否则输出true。

总结:

首先排除所以false的情况,剩下的是true。

善于利用“数组嵌套”

df85475087584686a8535a6a086fd8c0.png

原题

知识点:

as 改名字

group by 分组

步骤: 

  • 将记录按照员工id和日期分组
  • 利用聚集函数sum统计累计时长
  • 理解题目意思,分析算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值