【leetcode】笔记

JAVA初始化二维数组的方式:

第一种:

int a[][]={{1,2,3},{4,5,6}};

第二种,先指明行数,再对每行的长度申请内存赋值:

int[][] arr3 = new int[5][];//五行        
for(int i=0; i<arr3.length; ++i){            
	arr3[i]=new int[i+1];   //列的长度每次都变化。每次都要重新申请空间(长度)            
    for(int j=0; j<arr3[i].length; ++j)                
		arr3[i][j]= i+j;        
}

第三种:
直接一个一个赋值



将一个int型转为string:

String s= Integer.toString(7);

equals和==的对比:

==
用于比较基本数据类型时,如果两个值相同则结果为true
在比较引用时,如果引用指向同一内存地址则为true

equals()
实现对象的比较。
'=='不允许进行复写,所以可以通过复写equals()方法来达到比较对象内容是否相同的目的。

例如字符串类型对equals进行了复写后,就比较两个字符串对象的内容而不是他们的地址:

String s1=new String("abc");
String s2=new String("abc");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));

第一个输出false,因为两个对象的地址是不一样的
第二个输出true,因为两个字符串的内容是一样的

int m=3;
int n=3;
System.out.println(m==n);
		
String str1="123";
String str2="123";
System.out.println(str1==str2);
		

String str3=new String("123");
String str4=new String("123");
System.out.println(str3==str4);

依次输出true true false

第一个:m和n的内容都是int型数值3,所以true
第二个:str1和str2的内容都是字符串”123”,所以是true
第三个:str3和str4是指向两个不同字符串对象的地址,所以false

在这里插入图片描述
首先equals不能用于基本数据类型变量,只能用于比较对象

其次equals比较的是两个变量的地址是否一样

但是,

String str1=new String("123");
String str2=new String("123");
System.out.println(str1.equals(str2));
输出的结果是:true

因为String类对equals进行了重写,所以在string中比较是两个字符串的内容

怎么计算以2为底的对数:
借助换底公式:

double res=Math.log(n)/Math.log(2);


怎么将一个Array数组中的值传递给另外一个数组:
 List<List<Integer>> list1;
 List<List<Integer>> list2;
 list1.addAll(list2);

判断两个数组是否相等:

Arrays.equals(array1, array2)

这里的array1、array2可以是ArrayList对象,也可以是int [] char[]这种数组
函数返回布尔数值


二分法的一般书写格式:

数组:a 指针:p1, p2

int p1=0,p2=a.length;
while(p1<=p2){
	int mid=(p1+p2)/2;
	if(a[mid]==target)	return;
	if(a[mid]<target)	p1=mid+1;
	else p2=mid-1;
	}

ArrayList和LinkedList
  • ArrayList实现了动态数组的数据结构,LinkedList实现的是链表的数据结构
  • 使用get和set方法时使用ArrayList更好,因为LinkedList需要移动指针
  • 在列表内部需要频繁实现增删操作时用LinkedList更好,因为ArrayList需要移动复制数据
  • ArrayList的空间消耗主要在list列表结尾预留一定的空间,LinkedList的空间消耗主要在每个元素都需要一定的空间大小

ArrayList的初始化

除了general的初始化方法,还可以:

ArrayList<Stirng> obj = new ArrayList<String>(Arrays.asList(String str1, String str2));

或者:

 ArrayList<String> list = new ArrayList<String>(){{add("str01"); add("str02");}};  

格雷码关于i的表达式:
gray[i]=i^(i/2)

卡特兰数
F(1)=1 F(2)=2
F(n)=(2n)!/(n!(n+1)!) n>2

通过中序遍历和先序遍历构建二叉树:
https://blog.youkuaiyun.com/AXIMI/article/details/85276585



convertToTitle

https://blog.youkuaiyun.com/AXIMI/article/details/88934189

当前,全球经济格局深刻调整,数字化浪潮席卷各行各业,智能物流作为现代物流发展的必然趋势和关键支撑,正迎来前所未有的发展机遇。以人工智能、物联网、大数据、云计算、区块链等前沿信息技术的快速迭代与深度融合为驱动,智能物流不再是传统物流的简单技术叠加,而是正在经历一场从自动化向智能化、从被动响应向主动预测、从信息孤岛向全面互联的深刻变革。展望2025年,智能物流系统将不再局限于提升效率、降低成本的基本目标,而是要构建一个感知更全面、决策更精准、执行更高效、协同更顺畅的智慧运行体系。这要求我们必须超越传统思维定式,以系统化、前瞻性的视角,全面规划和实施智能物流系统的建设。本实施方案正是基于对行业发展趋势的深刻洞察和对未来需求的精准把握而制定。我们的核心目标在于:通过构建一个集成了先进感知技术、大数据分析引擎、智能决策算法和高效协同平台的综合智能物流系统,实现物流全链路的可视化、透明化和智能化管理。这不仅是技术层面的革新,更是管理模式和服务能力的全面提升。本方案旨在明确系统建设的战略方向、关键任务、技术路径和实施步骤,确保通过系统化部署,有效应对日益复杂的供应链环境,提升整体物流韧性,优化资源配置效率,降低运营成本,并最终为客户创造更卓越的价值体验。我们致力于通过本方案的实施,引领智能物流迈向更高水平,为构建现代化经济体系、推动高质量发展提供强有力的物流保障。
### 关于 LeetCode 学习笔记及相关资源 对于希望深入学习并通过 LeetCode 提升编程能力的人来说,找到合适的笔记和资源是非常重要的。以下是关于 LeetCode 笔记本或学习笔记 PDF 的相关内容: #### 1. **LeetCode 题目与 Python 编程** Python 是一种广泛应用于算法练习的语言,许多开发者通过它来解决 LeetCode 上的各种问题[^1]。这些笔记通常会记录解题思路、代码实现以及可能的优化方向。 #### 2. **高效记录与整理编程学习笔记的方法** 为了更好地掌握 LeetCode 中的知识点,可以采用一些高效的笔记记录方式。这不仅有助于巩固所学内容,还能够方便后续查阅。例如: - 使用 Markdown 文件创建结构化的文档。 - 将每道题目分为几个部分:问题描述、解决方案分析、代码实现及复杂度评估[^2]。 #### 3. **获取 LeetCode 笔记本或 PDF 资源的方式** 虽然网络上存在大量免费的学习资料,但需要注意版权问题。如果想下载高质量的 LeetCode 学习笔记 PDF 或其他形式的资源,可以通过以下途径查找: - 访问 GitHub 平台,在其中搜索关键词如 “LeetCode solutions” 或者特定语言版本(比如 Python)的相关仓库。 - 加入技术社区或者论坛讨论区,与其他成员分享彼此制作的优质笔记文件。 - 利用搜索引擎输入精确查询词组尝试定位到公开发布的电子书链接地址[^3]。 ```python # 示例代码片段展示如何保存本地Markdown格式化后的数据作为PDF导出功能之一 from markdown import markdown import pdfkit def save_as_pdf(text, output_filename='output.pdf'): html_text = markdown(text) config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe") # 替换为你实际安装路径 options = { 'page-size': 'Letter', 'margin-top': '0.75in', 'margin-right': '0.75in', 'margin-bottom': '0.75in', 'margin-left': '0.75in' } with open(output_filename,'wb') as f: pdf_content=pdfkit.from_string(html_text,False,options=options,configuration=config) f.write(pdf_content) example_note=""" # 动态规划入门经典案例 Fibonacci Sequence (斐波那契数列) 给定正整数 n ,返回第n项Fibonacci数值... """ save_as_pdf(example_note,"fibonacci_example.pdf") ``` 上述脚本演示了一个简单的例子,说明怎样把一段文字转换成HTML再进一步加工成为PDF档存盘操作过程[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值