- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 动态规划系列-Leetcode.1143-最长公共子序列
求解样例:s1:ABCBDAB s2:BDCABC。备注:本博客为日常学习记录,方便复习。(麻烦给Up主一键三连,多多支持他)
2024-06-26 10:23:43
207
原创 LeetCode.134. 加油站(贪心)
2. **为什么选取`(minIndex + 1) % gas.length`作为起点:** 因为如果从某个点开始,油量能持续非负直到结束(即使中间有最低点),那么从这个最低点的下一个点开始,应该也能顺利完成全程(因为此时你已经过了油量最低的点,且最终`sum`是非负的,说明油量足够)。1. **为什么关注`minIndex`:** 如果在某点A的`sum`是最小的,意味着从起点到A的任一点作为起始点都不可能成功绕圈,因为从任何这样的点出发,到达A之前油就会用光。因此,最佳的开始点应该是在A之后。
2024-04-30 15:09:57
319
原创 LeetCode.169. 多数元素(Boyer-Moore投票算法)
这意味着,如果我们每次都能找到两个不同的元素并将它们从序列中移除,直到无法继续为止,剩下的元素(如果有的话)必定是原序列的多数元素。- Boyer-Moore 投票算法只能找到一个候选的多数元素,如果要确认这个候选元素是否真正是多数元素,则需要进行第二次遍历来统计候选元素的数量,确认其是否真的超过了总数的一半。- 如果`count`为0,我们将当前元素设为`candidate`,并将`count`设置为1。由此,当经过成对删除后,若数组中还有剩余元素,则剩余部分的多数元素与原数组的多数元素相同。
2024-04-30 10:09:52
144
原创 Go语言-异常的使用
在 Go 中,错误是一种普通的值,通常由函数返回。当函数执行过程中遇到错误时,它将返回一个非空的错误值,表示发生了某种错误。总结起来,Go 中的异常处理是基于错误处理的模式,开发人员应该根据需要在函数中返回错误值,并使用条件语句来检查和处理错误。当函数遇到错误时,将返回一个非空的错误值。开发人员可以使用条件语句来检查返回的错误值,并处理相应的错误情况。是一种用于处理特殊情况的机制,类似于其他语言中的异常处理机制。在一般情况下,应该使用错误处理的方式来处理错误。语句)和错误检查函数来处理这些错误。
2023-09-07 10:59:38
200
1
原创 Go语言-&和*操作符
在 Go 中,指针和引用的概念很重要,因为它们允许你在函数之间共享和修改变量的值,而不是复制变量的副本。请注意,在使用指针时要小心空指针(nil pointer)的情况,即指针没有指向任何有效的内存地址。在解引用指针之前,应先确保该指针不为 nil。用于解引用指针并获取指针指向的值。指针在 Go 中被广泛使用,用于共享和修改变量的值,并在函数之间传递大型数据结构。用于解引用指针,即获取指针指向的值。它应用于指针类型的变量,用于访问该指针指向的实际值。是两个重要的操作符,用于处理指针和引用。
2023-09-07 10:56:37
2875
1
原创 Python实现selenium操作chrome浏览器(Mac环境)
from selenium import webdriverimport timeimport tracebackdef brower(): # 加载谷歌浏览器驱动 path = "/Users/juanmao/PycharmProjects/chromedriver.exe" driver = webdriver.Chrome(path) # 打开百度搜索网址首页 driver.get('http://www.baidu.com') print(d.
2022-03-28 14:19:47
2102
原创 Python读取Excel和写入Excel
import pandas as pdbidList = []# 读取第一列df = pd.read_excel('read_excel.xlsx', sheet_name='sheet1', usecols=[0])data = df.valuesnum = 0for bookId in data: for bid in bookId: num = num + 1 print("序号:"+str(num)) bidList.appe.
2022-03-28 11:48:10
3565
原创 Python多线程、线程池和多进程、进程池
多线程简单使用案例:from threading import Threadimport timedef crawl(url,page): time.sleep(3) print("\n抓取第"+str(page)+"网页内容。抓取网页链接:"+url)threads = []for page in range(1,11): threads.append(Thread(target=crawl, args=(f"http://www.zuowen.com/suc
2022-03-28 11:23:08
1095
原创 Java基础知识-代码块
java的四种代码块用{}括起来的称为代码块: 普通代码块:类中方法的方法体 构造代码块:类中{}直接括起来的语句,每次创建对象都会被调用,先于构造函数执行 静态代码块:类中static{}括起来的语句,只执行一次,先于构造代码块块执行 同步代码块:类中synchronized(){}括起来的语句,多线程环境下互斥执行 ...
2021-11-30 20:16:46
376
原创 Python3:变量,值类型与引用类型,运算符
目录一、变量命名:二、值类型与引用类型三、运算符注意事项比较运算符:逻辑运算符:成员运算符:关系运算符==和身份运算符is的区别:对象的三个特征:位运算符:一、变量命名:1、首字母不能是数字2、包含字母、数字、下划线3、系统关键字,不能用在变量名中4、区分大小写原因:type定义为变量,在使用type()函数的时候,会有异常。type(1)理解为1(1)了。两个变量交换:x,y = y,x二、值类型与引用类型int st...
2021-10-02 18:18:47
642
1
原创 Python3:基本数据类型
Python的基本数据类型:1、Number:数字整数:int其他语言:short,int,long浮点数:float其他语言:单精度(float),双精度(double)整数运算结果为整型。浮点数运算结果为浮点类型。整数和浮点类型混合运算,结果为浮点类型。除法除外。对于//除法,这种除法叫做floor除法,会对除法的结果自动进行一个floor操作。Python3 中有六个标准的数据类型:Number(数字) St...
2021-10-02 15:19:48
955
原创 10,2,8,16进制
10进制:0,1,2,3,4,5,6,7,8,9,10 ......2进制:0,1,10 ......8进制:0,1,2,3,4,5,6,7,10 ......16进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F10进制转换2进制:2进制转换10进制:小数点前或者整数要从右到左用二进制的每个数去乘以2的相应次方并递增,小数点后则是从左往右乘以二的相应负次方并递减。例如:二进制数1101.01转化成十进制1..
2021-10-01 21:56:51
185
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人