数组leetcode day2 day
leetcode 739.每日的温度 Java
739.每日的温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = [73, ......
Shell数组练习
1、将/etc/shadow文件的每一行作为元素赋值给数组 #!/bin/bash # 统计行数,作为循环次数 num=`wc -l < /etc/shadow` for ((i=0;i<=num;i++)) do # 根据i的变化取前i行内容再然后截取最后一行加入数组中 array[$i]=$(h ......
【LBLD】小而美的算法技巧:差分数组
【LBLD】差小而美的算法技巧:差分数组 差分数组 差分数组的第 i 个元素存储原数组第 i 个元素和第 i-1 个元素的差值,其中,差分数组的首元素的值 diff[0] 为原数组首元素的值 nums[0]。 1109.航班预订统计 class Solution { public: vector<i ......
leetcode 20. 有效的括号 Java
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 示例 1: 输入:s = "()" 输出:true 示例 2: 输入 ......
Leetcode(剑指offer专项训练)——DP专项(6)
排序的数目 题目 给定一个由 不同 正整数组成的数组 nums ,和一个目标整数 target 。请从 nums 中找出并返回总和为 target 的元素组合的个数。数组中的数字可以在一次排列中出现任意次,但是顺序不同的序列被视作不同的组合。 题目数据保证答案符合 32 位整数范围。 链接 无效DF ......
Leetcode(剑指offer专项训练)——DP专项(5)
最少的硬币数目 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 链接 完全背包问题 思路:主要是要自己推出动态转移方程 $$ F(i)=min_{ ......
flask框架---day01( )
今日内容 1 Flask 和pythonweb框架介绍 # python web框架 ,本质都一样 -django:大而全,内置的app多,第三方app也多 -Flask:小而精,没有过多的内置组件,只完成web框架最基本的功能,需要借助于第三方,完成更丰富的功能 -web.py:是一个小巧灵活的P ......
215. 数组中的第K个最大元素
参考:https://leetcode.cn/problems/kth-largest-element-in-an-array/solutions/19607/partitionfen-er-zhi-zhi-you-xian-dui-lie-java-dai-/ https://www.bilibi ......
力扣---6363. 转换二维数组
给你一个整数数组 nums 。请你创建一个满足以下条件的二维数组: 二维数组应该 只 包含数组 nums 中的元素。二维数组中的每一行都包含 不同 的整数。二维数组的行数应尽可能 少 。返回结果数组。如果存在多种答案,则返回其中任何一种。 请注意,二维数组的每一行上可以存在不同数量的元素。 示例 1 ......
713. 乘积小于 K 的子数组
力扣题目链接 给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目。 示例 1: 输入:nums = [10,5,2,6], k = 100 输出:8 解释:8 个乘积小于 100 的子数组分别为:[10]、[5]、[2],、[6]、[10,5 ......
面试题45(Java)-把数组排成最小的数(中等)
题目: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输出: "3033459" 提示: 0 < nums.length <= 100 说明: 输出 ......
【DP】LeetCode 64. 最小路径和
题目链接 64. 最小路径和 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 表示状态 假设到了右下角,考虑一下我们要存储的信息 走到最后坐标的最小步数 当前坐标的信息,用来判断是否走到了右下角 很容易联想到使用二维数组 dp[i][j ......
树状数组
树状数组 简单记录一下模板和用法,不做深入证明探究! 能解决的问题: 区间查询前缀和 单点修改(某个值+一个数) 是一个在 logN复杂度就能完成以上操作的数据结构。严格来说,能解决的问题是线段树的子集。 树状数组能够解决的问题,线段树一定可以解决!但是树状数组代码简单好写,相比臃肿庞大的线段树,能 ......
【DP】LeetCode 70. 爬楼梯
题目链接 70. 爬楼梯 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 表示状态 假设走到了最后一层台阶,考虑一下我们要存储的信息: 走到这最后一层台阶的方法数 当前台阶数,用于判断是否走到了最后一层台阶 这时候很容易想到使用一维数组 ......
day14| 94.二叉树的中序遍历;144.二叉树的前序遍历;145.二叉树的后序遍历
94. 二叉树的中序遍历 思路: 1. 找出重复的子问题 这个重复的子问题是:先遍历左子树、再取根节点、最后遍历右子树 2. 确定终止条件 当节点为空是,返回 代码如下: # Definition for a binary tree node. # class TreeNode: # def __i ......
Go 语言数组和切片的区别
原文链接: Go 语言数组和切片的区别 在 Go 语言中,数组和切片看起来很像,但其实它们又有很多的不同之处,这篇文章就来说说它们到底有哪些不同。 另外,这个问题在面试中也经常会被问到,属于入门级题目,看过文章之后,相信你会有一个很好的答案。 数组 数组是同一种数据类型元素的集合,数组在定义时需要指 ......
453.最小操作次数使数组元素相等
最小操作次数使数组元素相等 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 示例 1: 输入:nums = [1,2,3] 输出:3 解释: 只需要3次操作(注意每次操作会增加两个元素的值): [1,2,3] => [2,3,3] ......
1438. 绝对差不超过限制的最长连续子数组
力扣题目链接 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 如果不存在满足条件的子数组,则返回 0 。 示例 1: 输入:nums = [8,2,4,7], limit = 4 输出 ......
[LeetCode] 1338. Reduce Array Size to The Half 数组大小减半
You are given an integer array arr. You can choose a set of integers and remove all the occurrences of these integers in the array. Return the minimum ......
day13| 239.滑动窗口最大值;347.前k个高频元素(一刷至少需要理解思路)
239. 滑动窗口最大值 题目简述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 思路: 1. 构建两个空列表,一个名为queue,用来存储元素在nums ......
flask_day01
Flask和pythonweb框架介绍 python中的web框架,本质都是一样的 Django:大而全,内置的app多,第三方app也多 Flask:小而精,没有过多的内置组件,只完成web框架最基本的功能,需要借助于第三方,完成更丰富的功能 web.py:是一个小巧灵活的python框架,它简单 ......
算法随想Day53【单调栈】| LC84-柱状图中最大的矩形
int largestRectangleArea(vector& heights) { int result = 0; stack st; heights.insert(heights.begin(), 0); heights.push_back(0); st.push(0); for (int i ......
算法随想Day52【单调栈】| LC503-下一个更大元素Ⅱ、LC42-接雨水
LC503. 下一个更大元素Ⅱ 对于“每日温度”,相当于对nums数组,进行了两次遍历。用i % size所得余数作为下标,且循环的圈数为size * 2 vector<int> nextGreaterElements(vector<int>& nums) { int size = nums.siz ......
算法随想Day51【单调栈】| LC739-每日温度、LC496-下一个更大元素Ⅰ
LC739. 每日温度 vector<int> dailyTemperatures(vector<int>& temperatures) { int size = temperatures.size(); vector<int> result(size, 0); vector<int> sta; s ......
day32(2023.4.1)
1.一对多应答型服务器 随后开启多个客户端,运行结果: 2.一对多聊天服务应用 随后开启多个客户端,运行结果: 3.UDP通信入门案例(创建服务端)了解即可 4.UDP通信入门案例(创建客户端)了解即可 运行结果: day32(2023.4.1)星期六 ......
React 07days
更新流程的步骤: 递:beginWork 归:completeWork beginWork 对于如下结构的reactElement: <A> <B/></A> 当进入A的beginWork时,通过对比B current fiberNode与B reactElement,生成B对应wip fiberN ......
day6
1、654 最大二叉树 递归法 构造树一般采用的是前序遍历,因为先构造中间节点,然后递归构造左子树和右子树。 递归三部曲 确定递归函数的参数和返回值 参数传入的是存放元素的数组,返回该数组构造的二叉树的头结点,返回类型是指向节点的指针。 确定终止条件 确定单层递归的逻辑 先要找到数组中最大的值和对应 ......
Leetcode(剑指offer专项训练)——DP专项(4)
加减的目标值 给定一个正整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums = [2, 1] ,可以在 2 之前添加 '+' ,在 1 之前添加 '-' ,然后串联起来得到表达式 "+2-1" ......
代码随想录Day17-Leetcode110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和
110.平衡二叉树 题目链接:https://leetcode.cn/problems/balanced-binary-tree/ 一个显然但似乎不太高效的方法是: 通过递归获取左右子树高度,判断差; 然后递归判断左右结点; 那么一个显然的改进就是后序遍历 /** * Definition for ......
java方法-稀疏数组
稀疏数组 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组 稀疏数组的处理方式是: 记录数组一共有几行几列,有多少个不同值 把具体不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模 如图:左原始数组,右稀疏数组 ......