LeetCode知识点整理
1、Scanner 输入:
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取整数int num = scanner.nextInt();// 读取一行字符串String line = scanner.nextLine();scanner.close();}
}
2、二进制、八进制、十进制、十六进制
以十进制数42为例十进制:
int decimalNumber = 42;二进制:
int binaryNumber = 0b101010; // 以0b或0B作为前缀八进制:
int octalNumber = 052; // 以0作为前缀十六进制:
int hexNumber = 0x2a; // 以0x或0X作为前缀
3、Integer 等包装类
int intValue() 返回Integer对象的int类型值。static int MAX_VALUE int的最大值static int MIN_VALUE int的最小值static int parseInt(String s) 将字符串以十进制解析为int。static int parseInt(String s, int radix) 将字符串以指定进制解析为int。static String toString(int i) 返回int的十进制字符串对象。static String toString(int i, int radix) 返回int的指定进制字符串对象。static Integer valueOf(String s) 将字符串以十进制解析为Integer对象。static Integer valueOf(String s, int radix) 将字符串以指定进制解析为Integer对象。
4、移位运算符
<<:右边用0填充。>>>:左边用0填充。>>:左边用最高位相同的值填充。
5、按位运算符
按位与 & 按位或 | 按位异或 ^ 按位非 ~
位值 | 位值 | & | | | ^ |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
6、String
常用构造方法:
new String() 创建一个空字符串对象。new String(byte[] bytes, String charsetName) 创建一个由指定字符集解码的字符串对象。new String(char[] value) 创建一个包含字符序列的字符串对象。new String(StringBuilder builder) 创建一个表示builder字符序列的字符串对象。常用API:
char charAt(int index) 返回指定索引处的char。int compareTo(String anotherString) 按字典顺序比较两个字符串。
示例:
"1".compareTo("9") // <0
"1".compareTo("1") // 0
"9".compareTo("1") // >0int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,忽略大小写。boolean contains(CharSequence s) 当且仅当此字符串包含指定的字符序列时才返回true。boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开头。boolean startsWith(String prefix, int toffset) 测试此字符串在指定索引开始的子字符串是否以指定的前缀开头,toffset从0开始。boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结尾。boolean equals(Object anObject) 将此字符串与指定对象进行比较。boolean equalsIgnoreCase(String anotherString) 将此字符串与anotherString比较,忽略大小写。byte[] getBytes(String charsetName) 使用charsetName字符集将此字符串编码为字节序列,将结果存储到新的字节数组中。int indexOf(String str) 返回指定子字符串第一次出现在字符串内的索引。int indexOf(String str, int fromIndex) 返回指定子字符串第一次出现在字符串中的索引,从fromIndex开始搜索,fromIndex从0开始。int lastIndexOf(String str) 返回指定子字符串最后一次出现在字符串中的索引。int lastIndexOf(String str, int fromIndex) 返回指定子字符串最后一次出现在字符串中的索引,从fromIndex开始向后搜索,fromIndex从0开始。int length() 返回此字符串的长度。boolean matches(String regex) 判定此字符串是否匹配给定的正则表达式regex。String replace(char oldChar, char newChar) 返回用newChar替换了所有oldChar后的字符串。String replaceAll(String regex, String replacement) 返回用replacement替换了所有匹配正则表达式regex子字符串后的字符串。String replaceFirst(String regex, String replacement) 返回用replacement替换了第一个匹配正则表达式regex子字符串后的字符串。String[] split(String regex) 以regex将此字符串进行分割。String substring(int beginIndex) 返回一个从beginIndex开始的子字符串,beginIndex从0开始。String substring(int beginIndex, int endIndex) 返回一个从beginIndex到endIndex的子字符串,beginIndex从0开始。char[] toCharArray() 将此字符串转换为新的字符数组。String toLowerCase() 将字符串所有字符转换为小写。String toUpperCase() 将字符串所有字符转换为大写。String trim() 返回一个删除任何前导和尾随空格的字符串。static String valueOf(int i) 返回int参数的字符串int形式。字符串排序示例:
import java.util.Arrays;public class MainTest {public static void main(String[] args) {String str = "Hello World";char[] charArray = str.toCharArray();Arrays.sort(charArray);String sortedString = new String(charArray);System.out.println(sortedString); // 输出: HWdellloor}
}字符串统计示例:
import java.util.HashMap;
import java.util.Map;public class MainTest {public static void main(String[] args) {String str = "Hello World";Map<Character, Integer> countMap = new HashMap<>();for (char ch : str.toCharArray()) {countMap.put(ch, countMap.getOrDefault(ch, 0) + 1);}System.out.println(countMap); // 输出:{ =1, r=1, d=1, e=1, W=1, H=1, l=3, o=2}}
}
7、StringBuilder
常用构造方法:
new StringBuilder() 创建一个初始容量为16个字符的字符串构建器。new StringBuilder(String str) 创建一个初始化为指定字符串内容的字符串构建器。常用API:
StringBuilder append(String str) 将指定的字符串添加到此字符序列末尾。StringBuilder delete(int start, int end) 删除此字符序列从start到end的字符,左闭右开,start从0开始。StringBuilder deleteCharAt(int index) 删除这个字符序列中指定位置的char。StringBuilder insert(int offset, String str) 将str插入到此字符序列指定位置。StringBuilder replace(int start, int end, String str) 将start到end用str替换。StringBuilder reverse() 反转此字符序列。
8、Collection
Collection<E> (I)集合||-- List<E> (I)有序的 Collection (与元素插入顺序一致),也称为序列。| || |-- Stack<E> (C)栈,后进先出。| || |-- ArrayList<E> (C)使用数组实现。| || |-- LinkedList<E> (C)使用双向链表实现。||-- Set<E> (I)不含重复元素的 Collection,最多包含一个 null 元素。| || |-- HashSet<E> (C)无序的,与元素插入顺序无关。| || |-- LinkedHashSet<E> (C)有序的,与元素插入顺序一致。| || |-- TreeSet<E> (C)使用元素的自然顺序排序,或者根据提供的 Comparator 排序。||-- Queue<E> (I)队列,先进先出;从队列尾部添加元素,从队列头部删除元素。| || |-- PriorityQueue<E> (C)优先队列| || |-- LinkedList<E> (C)双向队列,支持在队列两端插入和删除元素。Stack常用API:
boolean empty() 判断栈是否为空。E peek() 返回栈顶对象,而不将其从栈中删除。栈为空抛异常。E pop() 返回栈顶对象,并将其从栈中删除。栈为空抛异常。E push(E item) 将对象添加到栈顶。int search(Object o) 返回对象在此栈上的位置,栈顶为1。ArrayList常用API:
boolean add(E e) 将指定的元素追加到此列表的末尾。void add(int index, E element) 在此列表中的指定位置插入指定的元素。boolean addAll(Collection<? extends E> c) 按指定集合中的所有元素追加到此列表的末尾。boolean addAll(int index, Collection<? extends E> c) 将指定集合中的所有元素插入到此列表中,从指定的位置开始。boolean contains(Object o) 如果此列表包含指定的元素,则返回true。boolean containsAll(Collection<?> c) 如果此集合包含指定集合中的所有元素,则返回true。boolean retainAll(Collection<?> c) 获取两个集合的交集,即只保留原集合与指定集合相同的元素。E set(int index, E element) 用指定的元素替换此列表中指定位置的元素。E remove(int index) 删除该列表中指定位置的元素。boolean remove(Object o) 从列表中删除第一个指定的元素。boolean removeAll(Collection<?> c) 从此列表中删除指定集合中包含的所有元素。boolean removeIf(Predicate<? super E> filter) 删除此集合中满足给定谓词的所有元素。
示例:
List<String> list = new ArrayList<>();
Collections.addAll(list, "a", "b");
list.removeIf(x -> x.equals("a")); // [b]protected void removeRange(int fromIndex, int toIndex) 从这个列表中删除所有索引在fromIndex和toIndex之间的元素,左闭右开。public boolean equals(Object o) 比较两个列表是否相等,两个列表都具有相同的大小,并且两个列表中所有相应的元素对相等。void replaceAll(UnaryOperator<E> operator) 对列表的每个元素应用一个函数,并用函数返回的结果替换原值。
示例:
List<String> list = new ArrayList<>();
Collections.addAll(list, "a", "b");
list.replaceAll(x -> x + "x"); // [ax, bx]E get(int index) 返回此列表中指定位置的元素。void clear() 从列表中删除所有元素。boolean isEmpty() 如果此列表不包含元素,则返回true。int size() 返回此列表中的元素数。Iterator<E> iterator() 返回该列表的迭代器。int indexOf(Object o) 返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。int lastIndexOf(Object o) 返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。void sort(Comparator<? super E> c) 使用提供的Comparator对此列表进行排序。Stream<E> stream() 返回此集合的Stream。Object[] toArray() 以正确的顺序返回一个包含此列表中所有元素的数组。<T> T[] toArray(T[] a) 以正确的顺序返回一个包含此列表中所有元素的数组; 返回的数组的运行时类型是指定数组的运行时类型。
示例:
List<String> list = new ArrayList<>();
Collections.addAll(list, "a", "b");
String[] arr = list.toArray(new String[0]); // [a, b]LinkedList常用API:
void push(E e) 将元素添加到列表头部。E peek() 返回列表头部元素,并不删除;如果没有元素返回null。E poll() 返回并删除列表头部元素;如果没有元素返回null。boolean offer(E e) 将指定的元素添加到此列表的尾部,添加成功返回true,失败返回false。PriorityQueue:
PriorityQueue() 创建一个初始容量为11的优先队列。PriorityQueue(Comparator<? super E> comparator) 创建一个初始容量为11的优先队列,并且其元素根据指定的比较器进行排序。常用API:
boolean add(E e) 将指定的元素插入此优先级队列。void clear() 从这个优先级队列中移除所有元素。boolean contains(Object o) 如果此队列包含指定的元素,则返回true。boolean containsAll(Collection<?> c) 如果此集合包含指定集合中的所有元素,则返回true。Iterator<E> iterator() 返回此队列中元素的迭代器。E peek() 返回列表头部元素,并不删除;如果没有元素返回null。E poll() 返回并删除列表头部元素;如果没有元素返回null。boolean remove(Object o) 从队列中删除一个指定元素(如果存在)。Object[] toArray() 以正确的顺序返回一个包含此列表中所有元素的数组。<T> T[] toArray(T[] a) 以正确的顺序返回一个包含此列表中所有元素的数组; 返回的数组的运行时类型是指定数组的运行时类型。
示例:
PriorityQueue<String> priorityQueue = new PriorityQueue();
Collections.addAll(priorityQueue, "c", "a", "b");
String[] arr = priorityQueue.toArray(new String[0]); // [a, c, b]
9、Map
Map<K,V> (I)键值对(key-value)。||-- HashMap<K,V> (C)最多只允许一条记录的 key 为 null;无序的,与元素插入顺序无关。||-- LinkedHashMap<K,V> (C)有序的,与元素插入顺序一致。 ||-- TreeMap<K,V> (C)最多只允许一条记录的 key 为 null;根据key的自然顺序排序,或者根据提供的 Comparator 排序。HashMap常用API:
void clear() 删除所有键值对。boolean containsKey(Object key) 如果此映射包含指定键的映射,则返回true。boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回true。boolean equals(Object o) 将指定的对象与此映射进行比较。 void forEach(BiConsumer<? super K,? super V> action) 对此映射中的每个键值执行给定的操作,直到所有条目都被处理或操作引发异常。
示例:
HashMap<String, String> hashMap = new HashMap();
hashMap.put("a","aa");
hashMap.put("b","bb");
hashMap.forEach((x, y) -> System.out.println(x + "->" + y)); // a->aa b->bbV get(Object key) 返回指定键所映射的值,如果没有则返回null。boolean isEmpty() 如果此映射不包含键值对,则返回true。int size() 返回此映射中键值对的数量。Set<K> keySet() 返回此映射中包含的键的Set集合。Collection<V> values() 返回此映射中包含的值的Collection列表。V put(K key, V value) 新增键值对。void putAll(Map<? extends K,? extends V> m) 添加映射m,如果有相同的键值对替换原键值对。V putIfAbsent(K key, V value) 如何不存在的key才新增,避免替换原键值对。V remove(Object key) 从该映射中删除指定键的映射(如果存在)。boolean remove(Object key, Object value) 仅当与指定键值对相等时才删除。boolean replace(K key, V oldValue, V newValue) 仅当key-oldValue存在,才能用newValue替换oldValue。void replaceAll(BiFunction<? super K,? super V,? extends V> function) 将键值对的值替换为对该键值对调用给定函数的结果,直到所有条目都被处理或该函数抛出异常。
示例:
Map<String, String> map = new HashMap<>();
map.put("a", "b");
map.replaceAll((k,v) -> v.concat("d"));
System.out.println(map); // {a=bd}V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) 如果key存在,则计算后更新value;如果key不存在,则将key-value插入。
示例:
Map<String, String> map = new HashMap<>();
map.put("a", "b");
map.compute("a", (k,v) -> v.concat("d"));
System.out.println(map); // {a=bd}Map<String, String> map = new HashMap<>();
map.compute("a", (k,v) -> "d");
System.out.println(map); // {a=d};这里不能 v.concat("d"),会报空指针异常。V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction) 如果key不存在才会执行函数,并将结果插入。V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) 如果key存在才会执行函数,并用结果替换原value。
如果指定的密钥的值存在且非空,则尝试计算给定密钥及其当前映射值的新映射。V getOrDefault(Object key, V defaultValue) 如何存在key,返回对于value;如果不存在key,返回后面的默认值。
示例:
List<String> list = new ArrayList<>();
Collections.addAll(list, "wang1", "wang3");Map<String, List<String>> map = new HashMap<>();
map.put("wang", list);list = map.getOrDefault("wang", new ArrayList<String>());
System.out.println(list); // [wang1, wang3]list = map.getOrDefault("zhang", new ArrayList<String>());
System.out.println(list); // []
10、Iterator迭代器
定义:
public interface Iterator<E> 对 collection 进行迭代的迭代器。API:
boolean hasNext() 如果仍有元素可以迭代,则返回 true。E next() 返回迭代的下一个元素。 void remove() 从集合中删除迭代器最后访问的元素(可选操作)。
11、Comparator比较器
定义:
public interface Comparator<T> 强制对某些对象集合进行总排序的比较函数。API:
int compare(T o1, T o2) 比较用来排序的两个参数。 注:o1 - o2 是升序。boolean equals(Object obj) 指示某个其他对象是否“等于”此 Comparator。 示例:
List<Integer> list = new ArrayList<>();
Collections.addAll(list, 3, 2, 1);
Collections.sort(list, (o1, o2) -> o1 - o2);
System.out.println(list); // [1, 2, 3]
12、Collections类
boolean Collections.addAll(Collection<? super T> c, T... elements) 将多个元素添加到集合中,每个元素用逗号隔开。 boolean Collections.disjoint(Collection<?> c1, Collection<?> c2) 判定两个集合没有相同的元素,没有相同元素返回true,有相同元素返回false。void Collections.fill(List<? super T> list, T obj) 使用指定元素替换list中的所有元素,有元素才会替换。static int frequency(Collection<?> c, Object o) 返回集合中指定元素出现的次数。 void Collections.sort(List<T> list) 根据元素的自然顺序对指定列表按升序进行排序。 void Collections.sort(List<T> list, Comparator<? super T> c) 根据指定的比较器对指定列表进行排序。 T Collections.max(Collection<? extends T> coll) 根据元素的自然顺序,返回给定 coll 的最大元素。 T Collections.max(Collection<? extends T> coll, Comparator<? super T> comp) 根据指定比较器比较,返回给定 coll 的最大元素。 T Collections.min(Collection<? extends T> coll) 根据元素的自然顺序 返回给定 coll 的最小元素。 T Collections.min(Collection<? extends T> coll, Comparator<? super T> comp) 根据指定比较器比较,返回给定 coll 的最小元素。 boolean Collections.replaceAll(List<T> list, T oldVal, T newVal) 使用newVal值替换列表中出现的所有oldVal值。 void Collections.reverse(List<?> list) 反转指定列表中元素的顺序。 void swap(List<?> list, int i, int j) 交换指定元素在列表中的位置。
13、Arrays类
int[] Arrays.copyOf(int[] original, int newLength) 返回指定长度为newLength的数组,它的前newLength个元素为数组original的前newLength个元素,如果超出数组original的长度则用0填充。int[] Arrays.copyOfRange(int[] original, int from, int to) 返回将指定数组的指定范围复制到新数组中。boolean Arrays.equals(int[] a, int[] a2) 如果指定的两个int数组每个元素都相等,则返回true。boolean Arrays.deepEquals(Object[] a1, Object[] a2) 如果指定的两个多维数组每个元素都相等,则返回true。static void fill(int[] a, int val) 用指定int值替换数组中的每一个元素。static void fill(int[] a, int fromIndex, int toIndex, int val) 用指定int值替换数组中的从fromIndex到toIndex的元素。String Arrays.toString(int[] a) 返回指定数组内容的字符串表示形式。String Arrays.deepToString(Object[] a) 返回指定多维数组内容的字符串表示形式。void Arrays.sort(int[] a) 按照自然顺序排列数组。void Arrays.sort(int[] a, int fromIndex, int toIndex) 按自然顺序排列数组的指定范围。void Arrays.sort(T[] a, Comparator<? super T> c) 根据指定的比较器对指定的对象数组进行排序。
只能用于对象数组排序,不能用于基本数据类型。Arrays.sort(a, (x, y) -> x.compareTo(y)) 升序。void Arrays.sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c) 根据指定的比较器对指定的对象数组的指定范围进行排序。
只能用于对象数组排序。Stream<T> Arrays.stream(T[] array) 返回array的Stream流。
14、Math常用API
static int abs(int a) 返回int值的绝对值。static int max(int a, int b) 返回两个值中的较大者。static int min(int a, int b) 返回两个值中的较小者。
相关文章:
LeetCode知识点整理
1、Scanner 输入: import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);// 读取整数int num scanner.nextInt();// 读取一行字符串String line scanner.nextLine();scanner.close();…...
浅析车规芯片软错误防护加固的重要性
随着汽车电子技术的飞速发展,汽车已经从传统的机械交通工具转变为高度依赖电子系统的智能移动终端。车规芯片作为汽车电子系统的核心部件,其可靠性和安全性直接关系到车辆的正常运行和驾乘人员的安全。然而,车规芯片在复杂的运行环境中面临着…...
Android Jetpack学习总结(源码级理解)
ViewModel 和 LiveData 是 Android Jetpack 组件库中的两个核心组件,它们能帮助开发者更有效地管理 UI 相关的数据,并且能够在配置变更(如屏幕旋转)时保存和恢复 UI 数据。 ViewModel作用 瞬态数据丢失的恢复,比如横竖…...
Matlab_Simulink中导入CSV数据与仿真实现方法
前言 在Simulink仿真中,常需将外部数据(如CSV文件或MATLAB工作空间变量)作为输入信号驱动模型。本文介绍如何高效导入CSV数据至MATLAB工作空间,并通过From Workspace模块实现数据到Simulink的精确传输,适用于运动控制…...
Go 语言规范学习(6)
文章目录 StatementsTerminating statementsEmpty statementsLabeled statementsExpression statementsSend statementsIncDec statementsAssignment statementsIf statementsSwitch statementsExpression switchesType switches For statementsFor statements with single con…...
设计模式——设计模式理念
文章目录 参考:[设计模式——设计模式理念](https://mp.weixin.qq.com/s/IEduZFF6SaeAthWFFV6zKQ)参考:[设计模式——工厂方法模式](https://mp.weixin.qq.com/s/7tKIPtjvDxDJm4uFnqGsgQ)参考:[设计模式——抽象工厂模式](https://mp.weixin.…...
解析 ID 数组传参的解决方案:基于 Axios 的实现
解析 ID 数组传参的解决方案:基于 Axios 的实现 在实际开发中,经常需要将一个 ID 数组作为参数传递给后端接口。然而,不同的后端框架和前端库对数组参数的处理方式可能有所不同。通过一个具体的例子,在前端使用 Axios 框架发送 I…...
C语言快速入门-C语言基础知识
这个c语言入门,目标人群是有代码基础的,例如你之前学过javaSE,看此文章可能是更有帮助,会让你快速掌握他们之间的差异,文章内容大部分都是泛谈,详细的部分我会在之后时间发布,我也在慢慢学习&am…...
Ubuntu 22.04 上安装 VS Code
在 Ubuntu 22.04 上安装 VS Code 的方法如下: 方法 1:通过 APT 包管理器安装 更新系统包索引: 打开终端并执行以下命令: sudo apt update安装依赖项: 执行以下命令以安装所需的依赖项: sudo apt install s…...
AI人工智能-PyCharm的介绍安装应用
下载与安装 创建python项目 项目路径:C:\Users\miloq\Desktop\python_project 配置环境 提前找到conda配置的python-base路径 配置conda环境 运行项目 运行结果...
Todesk介绍
文章目录 ToDesk 软件介绍1. 软件概述2. ToDesk 的功能特点2.1 简单易用2.2 高质量的图像与流畅的操作2.3 跨平台支持2.4 多屏显示与协作2.5 文件传输功能2.6 实时聊天与语音通话2.7 远程唤醒与自动启动2.8 多种权限设置与安全性2.9 无需公网 IP 3. ToDesk 的应用场景3.1 个人使…...
【JavaEE】springMVC返回Http响应
目录 一、返回页面二、Controller和ResponseBody与RestController区别三、返回HTML代码⽚段四、返回JSON五、HttpServletResponse设置状态码六、设置Header6.1 HttpServletResponse设置6.2 RequestMapping设置 一、返回页面 步骤如下: 我们先要在static目录下创建…...
青少年编程与数学 02-011 MySQL数据库应用 02课题、MySQL数据库安装
青少年编程与数学 02-011 MySQL数据库应用 02课题、MySQL数据库安装 一、安装Windows系统Linux系统(以Ubuntu 20.04为例)macOS系统 二、配置(一)Windows系统1. 创建配置文件2. 初始化数据库3. 启动MySQL服务4. 登录MySQL5. 修改ro…...
springboot441-基于SpringBoot的校园自助交易系统(源码+数据库+纯前后端分离+部署讲解等)
💕💕作者: 爱笑学姐 💕💕个人简介:十年Java,Python美女程序员一枚,精通计算机专业前后端各类框架。 💕💕各类成品Java毕设 。javaweb,ssm…...
【安全运营】关于攻击面管理相关概念的梳理(一)
目录 一、ASM 介绍ASM 是“Attack Surface Management”(攻击面管理)的缩写【框架视角,广义概念】1. 介绍2. 兴起的原因3. 工作流程3.1 资产发现3.2 分类和优先级排序3.3 修复3.4 监控 二、EASM 介绍EASM 是 "External Attack Surface M…...
IPv6 网络访问异常 | 时好时坏 / 部分访问正常
注:本文为 “ IPv6 间接性连接异常” 相关文章合辑。 略作重排,未去重。 如有内容异常,请看原文。 IPv6 间接性连接异常?尝试调整路由器的 MTU 设置 Nero978 2024-1-29 17:54 背景 2024 年 1 月 29 日,因寒假返家…...
Unity编辑器功能及拓展(1) —特殊的Editor文件夹
Unity中的Editor文件夹是一个具有特殊用途的目录,主要用于存放与编辑器扩展功能相关的脚本和资源。 一.纠缠不清的UnityEditor 我们Unity中进行游戏构建时,我们经常遇到关于UnityEditor相关命名空间丢失的报错,这时候,只得将报错…...
LLMs之PE:《Tracing the thoughts of a large language model》翻译与解读
LLMs之PE:《Tracing the thoughts of a large language model》翻译与解读 导读:这篇论文的核心贡献在于提出了一种新颖的、基于提示工程的LLMs推理过程追踪技术——“Tracing Thoughts”。该技术通过精心设计的提示,引导LLMs生成其推理过程的…...
[Python] 贪心算法简单版
贪心算法-简单版 贪心算法的一般使用场景是给定一个列表ls, 让你在使用最少的数据的情况下达到或超过n. 我们就来使用上面讲到的这个朴素的例题来讲讲贪心算法的基本模板: 2-1.排序 既然要用最少的数据, 我们就要优先用大的数据拼, 为了实现这个效果, 我们得先给列表从大到小…...
游戏引擎学习第191天
回顾并制定今天的计划 最近几天,我们有一些偏离了原计划的方向,主要是开始了一些调试代码的工作。最初我们计划进行一些调试功能的添加,但是随着工作的深入,我们开始清理和整理调试界面的呈现方式,以便能够做一些更复…...
Git撤回操作全场景指南:未推送与已推送,保留和不保留修改的差异处理
一、未推送到远程仓库的提交(仅本地存在) 特点:可直接修改本地提交历史,不会影响他人 1. 保留修改重新提交 git reset --soft HEAD~1 # 操作效果: # - 撤销最后一次提交 # - 保留工作区所有修改 # - 暂存区内容保持…...
Java 贪吃蛇游戏
这段 Java 代码实现了一个经典的贪吃蛇游戏。玩家可以使用键盘的上下左右箭头键控制蛇的移动方向,蛇会在游戏面板中移动并尝试吃掉随机生成的食物。每吃掉一个食物,蛇的身体会变长,玩家的得分也会增加。如果蛇撞到自己的身体或者撞到游戏面板…...
QT图片轮播器(QT实操学习2)
1.项目架构 1.UI界面 2.widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget>#define TIMEOUT 1 * 1000 QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent n…...
mac m1/m2/m3 pyaudio的安装
google了很多方法,也尝试了 issue68的方法, 但是均失败了,但是问deepseek竟然成功了,下面是deepseek r1给出的方法。在M3 pro芯片上可以成功运行. 安装homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent…...
Appium中元素定位的注意点
应用场景 了解这些注意点可以以后在出错误的时候,更快速的定位问题原因。 示例 使用 find_element_by_xx 或 find_elements_by_xx 的方法,分别传入一个没有的“特征“会是什么结果呢? 核心代码 driver.find_element_by_id("xxx") drive…...
《深入探索 Python 数据分析:用 Pandas 高效处理与可视化大型数据集》
《深入探索 Python 数据分析:用 Pandas 高效处理与可视化大型数据集》 引言:从零到分析高手 数据是当代社会最宝贵的资源,而数据分析技能是现代职业人不可或缺的一部分。在数据科学的领域中,Python 已成为当之无愧的“首选语言”,其强大的生态系统和简洁的语法让人如虎添…...
[GWCTF 2019]我有一个数据库1 [CVE phpMyAdmin漏洞]
扫出来一些东西 访问/phpmyadmin 发现界面 这里用到了CVE-2018-12613,光速学习 出现漏洞的代码是: $target_blacklist array (import.php, export.php );// If we have a valid target, lets load that script instead if (! empty($_REQUEST[targe…...
spring 常用注解区别及使用场景
1. 组件注册注解 Bean 作用:用于方法上,表示该方法返回的对象由Spring容器管理。通常用于配置类(Configuration)中,注册第三方库或自定义的Bean。 使用场合: 当你需要将非Spring管理的类(如第…...
【后端】【Django】信号使用详解
Django post_save 信号使用详解(循序渐进) 一、信号的基本概念 Django 的 信号(Signal) 允许不同部分的代码在发生某些事件时进行通信,而不需要直接调用。这种机制可以解耦代码,让不同的模块独立工作。 …...
ML算法数学概念
交叉熵损失(Cross-Entropy Loss) 是机器学习和深度学习中常用的一种损失函数,主要用于衡量两个概率分布之间的差异。它在分类问题中(尤其是多分类问题)被广泛使用,因为它能够有效地评估模型预测的概率分布与…...
wps 怎么显示隐藏文字
wps 怎么显示隐藏文字 》文件》选项》视图》勾选“隐藏文字” wps怎么设置隐藏文字 wps怎么设置隐藏文字...
Vue3 其它API Teleport 传送门
Vue3 其它API Teleport 传送门 在定义一个模态框时,父组件的filter属性会影响子组件的position属性,导致模态框定位错误使用Teleport解决这个问题把模态框代码传送到body标签下...
亚马逊玩具品类技术驱动型选品策略:从趋势洞察到合规基建
一、全球玩具电商技术演进趋势 (技术化重构原市场背景) 数据可视化分析:通过亚马逊SP-API抓取2023年玩具品类GMV分布热力图 监管技术升级: 美国CPSC启用AI质检系统(缺陷识别准确率92.7%) 欧盟EPR合规接口…...
SpringBoot3+EasyExcel通过WriteHandler动态实现表头重命名
方案简介 为了通过 EasyExcel 实现动态表头重命名,可以封装一个方法,传入动态的新表头名称列表(List<String>),并结合 WriteHandler 接口来重命名表头。同时,通过 EasyExcel 将数据直接写入到输出流…...
PHY——LAN8720A 寄存器读写 (二)
文章目录 PHY——LAN8720A 寄存器读写 (二)工程配置引脚初始化代码以太网初始化代码PHY 接口实现LAN8720 接口实现PHY 接口测试 PHY——LAN8720A 寄存器读写 (二) 工程配置 这里以野火电子的 F429 开发板为例,配置以太网外设 这里有一点需要注意原理图 RMII_TXD0…...
HTML5和CSS3的一些特性
HTML5 和 CSS3 是现代网页设计的基础技术,它们引入了许多新特性和功能,极大地丰富了网页的表现力和交互能力。 HTML5 的一些重要特性包括: 新的语义化标签: HTML5 引入了一些重要的语义化标签如 <header>, <footer>, <articl…...
sass报错,忽略 Sass 弃用警告,降级版本
最有效的方法是创建一个 .sassrc.json 文件来配置 Sass 编译器。告诉 Sass 编译器忽略来自依赖项的警告消息。 解决方案: 1. 在项目根目录创建 .sassrc.json 文件: {"quietDeps": true }这个配置会让 Sass 编译器忽略所有来自依赖项&#x…...
DeepSeek+Kimi:PPT制作的效率革命
摘要:传统PPT制作面临模板选择困难、内容逻辑混乱、设计排版能力有限以及反复修改等问题。DeepSeek和Kimi两款AI工具的组合为PPT制作提供了全新的解决方案。DeepSeek擅长内容生成与逻辑推理,能够快速生成高质量的PPT大纲和内容;Kimi则专注于长…...
transformers中学习率warmup策略具体如何设置
在使用 get_linear_schedule_with_warmup(如 Hugging Face Transformers 库中的学习率调度器)时,参数的合理设置需要结合 数据量(dataset size)、批次大小(batch size) 和 训练轮数(…...
linux实现rsync+sersync实时数据备份
1.概述 rsync(Remote Sync) 是一个Unix/linux系统下的文件同步和传输工具 2.端口和运行模式 tcp/873 采用C/S模式(客户端/服务器模式) 3.特点 可以镜像保存整个目录和文件第一次全量备份(备份全部的文件),之后是增量备份(只备份变化的文件) 4. 数…...
CTF类题目复现总结-[MRCTF2020]ezmisc 1
一、题目地址 https://buuoj.cn/challenges#[MRCTF2020]ezmisc二、复现步骤 1、下载附件,得到一张图片; 2、利用010 Editor打开图片,提示CRC值校验错误,flag.png应该是宽和高被修改了,导致flag被隐藏掉;…...
『Linux』 第十一章 线程同步与互斥
1. 线程互斥 1.1 进程线程间的互斥相关背景概念 临界资源:多线程执行流共享的资源就叫做临界资源临界区:每个线程内部,访问临界资源的代码,就叫做临界区互斥:任何时刻,互斥保证有且只有一个执行流进入临界…...
【数据结构】队列
目录 一、队列1、概念与结构2、队列的实现3、队列的初始化4、打印队列数据5、入队6、销毁队列7、队列判空8、出队9、取队头、队尾数据10、队列中有效元素个数 二、源码 个人主页,点击这里~ 数据结构专栏,点击这里~ 一、队列 1、概念与结构 概念&#x…...
【导航定位】GNSS数据协议-RINEX OBS
RINEX协议 RINEX(Receiver INdependent EXchange format,与接收机无关的交换格式)是一种在GPS测量应用中普遍采用的标准数据格式,该格式采用文本文件形式(ASCII码)存储数据数据记录格式与接收机的制造厂商和具体型号无关。目前RINEX版本已经发布到了4.x…...
Qt中的事件循环
Qt的事件循环是其核心机制之一,它是一种消息处理机制,负责处理各种事件(如用户输入、定时器、网络请求等)的分发和处理。Qt中的事件循环是一个持续运行的循环,负责接收事件并将它们分发给相应的对象进行处理。当没有事件需要处理时࿰…...
Android并发编程:线程池与协程的核心区别与最佳实践指南
1. 基本概念对比 特性 线程池 (ThreadPool) 协程 (Coroutine) 本质 Java线程管理机制 Kotlin轻量级并发框架 最小执行单元 线程(Thread) 协程(Coroutine) 创建开销 较高(需分配系统线程资源) 极低(用户态调度) 并发模型 基于线程的抢占式调度 基于协程的协作式调度 2. 核心差异…...
吴恩达深度学习复盘(2)神经网络的基本原理轮廓
笔者注 这两节课主要介绍了神经网络的大的轮廓。而神经网络基本上是在模拟人类大脑的工作模式,有些仿生学的意味。为了便于理解,搜集了一些脑神经的资料,这部分是课程中没有讲到的。 首先要了解一下大脑神经元之间结构。 细胞体࿱…...
【redis】集群 数据分片算法:哈希求余、一致性哈希、哈希槽分区算法
文章目录 什么是集群数据分片算法哈希求余分片搬运 一致性哈希扩容 哈希槽分区算法扩容相关问题 什么是集群 广义的集群,只要你是多个机器,构成了分布式系统,都可以称为是一个“集群” 前面的“主从结构”和“哨兵模式”可以称为是“广义的…...
计算机组成原理笔记(六)——2.2机器数的定点表示和浮点表示
计算机在进行算术运算时,需要指出小数点的位置,根据小数点的位置是否固定,在计算机中有两种数据格式:定点表示和浮点表示。 2.2.1定点表示法 一、基本概念 定点表示法是一种小数点的位置固定不变的数据表示方式,用于表示整数或…...
将树莓派5当做Ollama服务器,C#调用generate的API的示例
其实完全没这个必要,性能用脚后跟想都会很差。但基于上一篇文章的成果,来都来了就先简单试试吧。 先来看看这个拼夕夕上五百多块钱能达到的效果: 只要对速度没要求,那感觉就还行。 Ollama默认只在本地回环(127.0.0…...