自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 代码训练day27贪心算法p1

然后从后向前遍历小孩数组,用大饼干优先满足胃口大的,并统计满足小孩数量。(2)发现前一段子序列和为负,要更新子序列和起始位置。先将饼干数组和小孩数组排序。(1)遍历记录最大子序列和。

2025-04-14 20:34:02 366

原创 代码训练day25回溯p4

(1)不能排序 (2)回溯搜索不能重复,用hashset去重(3)注意搜索条件,递增,不重复。:通过状态恢复,遍历所有可能的决策分支。

2025-04-14 19:44:53 233

原创 代码训练day24回溯p3

【代码】代码训练day24回溯p3。

2025-04-11 19:17:13 110

原创 代码训练day23回溯算法p2

组合总和进行去重,原理是排序。

2025-04-07 13:11:56 235

原创 代码训练day22回溯算法p1

重要参数,List<List<Integer>> res ,Deque<Integer> path, int startIndex。回溯算法处理,sum来统计path里元素的总和,(2)优化剪枝,主要是对选过的数字进行剪除。

2025-04-06 18:33:17 263

原创 代码训练day21二叉树p8

然后用 root.left = trimBST(root.left, low, high);相当于把节点root 的右孩子(节点root.right)返回给上一层,需要一个pre指针记录当前遍历节点cur的前一个节点,这样才方便做累加。root.val < low但是root的右孩子在区间内,累加的顺序是右中左,需要反中序遍历这个二叉树,然后顺序累加。108.将有序数组转换为二叉搜索树。538.把二叉搜索树转换为累加树。669. 修剪二叉搜索树。

2025-04-06 14:10:19 351

原创 代码训练day20二叉树p7

235. 二叉搜索树的最近公共祖先。701.二叉搜索树中的插入操作。450.删除二叉搜索树中的节点。

2025-04-05 19:47:33 259

原创 代码训练day18二叉树p6

利用好二叉搜索树中序遍历是递增的性质,在中序遍历时比较,cur.val - pre.val 的最小值。(1)求最小公共祖先,需要从底向上遍历,二叉树,后序遍历。有序数组中寻找众数的方法。

2025-04-03 18:35:53 302

原创 代码训练day17二叉树p5

1.递归中序遍历与实时比较。2.中序遍历与递增判断。

2025-04-03 11:23:44 277

原创 代码训练day16二叉树p4

dfs每次递归减去节点值,递归到叶子节点,如果结果为0返回true。(1)bfs层序遍历技巧先右入队再左入队,最后出来的是左下角。(2)dfs实现,先找到最大深度(最后一层),在找左下角。

2025-04-02 21:37:54 440

原创 面试高频算法题目整理Java

主要记partition分治部分,找基准,比较交换。

2025-03-30 19:26:54 859

原创 《人工智能导论》

管理:利用人工智能分析个人的基因、生活习惯和环境因素,为个体提供定制化的健康建议和治疗方案。:开发能够根据学生的学习进度和兴趣定制教学内容和难度的智能教育平台。优化:优化能源分配和消耗,支持可持续能源系统的发展。智能:应用人工智能技术来优化交通流量管理,减少交通拥堵,提升交通安全性,并支持自动驾驶车辆的集成。管理:利用AI进行生态监测和预测,例如通过分析卫星图像和气象数据来预测洪水、火灾等自然灾害的发生,以及对生态系统的健康状况进行长期监控。

2025-03-30 15:07:50 1278

原创 代码训练day15二叉树3

递归 (1)终止条件 (2)单层递归,左右子树都要递归 (3)结果处理逻辑。(2)dfs 递归处理左右,当前为left + right + 1;(1)bfs层序遍历求个数 当que.offer()时计数。处理(1)遇到叶子节点 (2)遇到左子树 (3)右子树。递归逻辑理解,单层递归考虑子树。

2025-03-30 15:00:58 223

原创 代码训练day14二叉树part2,dfs和bfs强化

(1)递归遍历(前序or后序)(2)交换(swap) 左右子节点。(1)dfs,注意某一子树为空的情况。

2025-03-29 20:56:46 372

原创 代码随想录day13二叉树

(1) 确定函数参数和返回值 void (TreeNode root, List<Integer> res)(3)确定遍历顺序。前序根在前,中序根在中。(2) 确定递归终止条件 return;标记法,空指针 null 或者 boolean。

2025-03-29 16:43:12 210

原创 代码训练day11栈与队列2

equals的使用," - " 和 " / " 特殊处理 , String转int是 integer.valueOf();comparator使用原理。构造最小堆,优先级队列。

2025-03-28 18:34:11 227

原创 代码训练day10栈与队列

【代码】代码训练day10栈与队列。

2025-03-26 19:32:13 206

原创 代码训练day9字符串2

2.先反转整个字符串,然后再分别反转前k个字符串和后面的字符串。

2025-03-24 19:14:03 244

原创 Day8代码训练 字符串

else if (i + k > n) { // 剩余字符少于k。// 如果是数字字符,替换成 "number"// 使用 StringBuilder 构建结果字符串。if(i + 2*k <= n) {// 普通情况。} else { // 剩余字符大于k 小于 2k。// 如果是字母字符,保持不变。// 遍历输入字符串。// 返回结果字符串。

2025-03-23 15:20:37 907

原创 代码训练day7哈希表2

for (int num3 : nums3) {// 如果 0-(3+4) 在map中出现过的话,就把map中key对应的value也就是出现次数统计出来。i++) {// 第二层for循环。k++) {// 第一层for循环。if (sum == 0){ // 符合条件的情况下的去重逻辑。双指针注意 (1)左右指针初始化位置 (2)停止条件 (3)去重逻辑。三数之和plus 考虑更多的去重和剪枝条件,两层for循环。// 四数相加ii 统计个数。// 要求不重复、需要去重。

2025-03-22 17:03:31 1159

原创 代码训练day5哈希表使用,java

/ 对应的字符出现的次数 s.charAt(i), 次数。// <数字,下标>输出交集,判断set.contains(num),res.add(num)sum += (n % 10) * (n % 10);if (set.contains(num))// hashset 检查交集。// hastset去重。3.快乐数 leetcode202。

2025-03-22 15:03:35 633

原创 代码训练day4 链表 (头节点、双指针

/ 哨兵节点 dummy node0 -> node2 node2 -> node1 node1 -> node3。// 0往后移动2,到node1(1、2互换了),node1后移动2,到node3。// 1.双指针 fast和slow相遇后,fast指向head同时走。// p1 走一步,如果走到 A 链表末尾,转到 B 链表。// p2 走一步,如果走到 B 链表末尾,转到 A 链表。// p1 指向 A 链表头结点,p2 指向 B 链表头结点。

2025-03-18 22:58:36 492

原创 代码训练day3链表

public void addAtIndex(int index, int val) { // 下标有效,插入到index之前,或末尾。// newNode -> head.next (当前头节点)if (index < 0 || index >= size) {// 判断合法性。public int get(int index) {// 获取index值。class Solution {// 未考虑头节点值 == val 引入虚拟头节点。//第0个节点是虚拟头节点,所以查找第 index+1 个节点。

2025-03-15 16:23:35 377

原创 代码训练day2数组

/前缀和sum[i] 为array前i个数的和。while (loop <= n / 2) { //停止时层数恰好是n / 2的整数部分。while (sum >= target) { // 注意if和while的使用。// 最右列 第j列 startX -> n-offset 移动。if (n % 2 == 1) { // n为奇数单独处理中心值。// 最底行 第i行 j -> startY 方向移动。// 最左列 为第 j 列 i -> startX。// 起点 + 前缀和的差 = 区间的和。

2025-03-13 13:13:17 259

原创 代码训练day1

while (left <= right) {// 停止条件。if (nums[i] > 0) {// 没有负数的情况。while(left <= right) {// 注意区间。// 注意指针移动情况。// 注意快慢指针推导过程、元素顺序可能改变。一、 二分查找 (双指针、注意区间、注意目标)// 双指针、两边到中间。

2025-03-12 19:11:26 422

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除