项目:区块链
未读基本代码1.EcommerceStore.sol
合约中有关于商品信息的记录,EcommerceStore 和 EcommerceStoreV2 合约管理商品的生命周期,包括从添加到拍卖结束。
1234567891011121314151617struct Product { uint256 id; string name; string category; string imageLink; string descLink; uint256 auctionStartTime; uint256 auctionEndTime; uint256 startPrice; ProductStatus status; ProductCondition condition; address highestBidder; // 记录最高出价者 uint256 highestBid; // 最高出价金额 mapping(address => mapping(bytes32 => Bid)) bids; ...
项目:区块链
未读智能合约:1. 合约部署在任何功能可以使用之前,智能合约必须首先部署到以太坊区块链上。这通常包括以下步骤:
编译合约: 使用 Solidity 编译器(如 solc 或 Truffle)将 Solidity 代码编译成以太坊虚拟机(EVM)字节码。
部署合约: 使用工具(如 Truffle 或 Remix IDE)将编译好的字节码部署到以太坊网络上。这一过程需要支付一定的 Gas 费用。
例如,使用 Truffle 部署时的步骤:
12truffle compiletruffle migrate
部署成功后,合约会有一个唯一的地址,可以用来与其进行交互。
2. 交互与执行一旦合约部署成功,不同的角色(如买家、卖家、仲裁者)可以通过以太坊钱包(如 MetaMask)或 DApp 界面与这些合约进行交互。以下是一些关键交互方式:
调用函数: 用户可以调用合约中定义的函数,这会触发合约的特定逻辑。每次调用都需要支付 Gas 费用,这取决于调用的复杂性和执行所需的计算量。
例如,在 DApp 中,用户可以通过前端界面输入必要的信息,然后调用合约的 addProductToStore ...
刷题线路图
1.Arrays & Hashing
217. 存在重复元素 - 力扣(LeetCode)
242. 有效的字母异位词 - 力扣(LeetCode)
1. 两数之和 - 力扣(LeetCode)
49. 字母异位词分组 - 力扣(LeetCode)
347. 前 K 个高频元素 - 力扣(LeetCode)
(VIP)271. 字符串的编码与解码 - 力扣(LeetCode)
238. 除自身以外数组的乘积 - 力扣(LeetCode)
128. 最长连续序列 - 力扣(LeetCode)
2.Two Pointers
125. 验证回文串 - 力扣(LeetCode)
167. 两数之和 II - 输入有序数组 - 力扣(LeetCode)
15. 三数之和 - 力扣(LeetCode)
11. 盛最多水的容器 - 力扣(LeetCode)
42. 接雨水 - 力扣(LeetCode)
3.Stack
20. 有效的括号 - 力扣(LeetCode)
155. 最小栈 - 力扣(LeetCode)
150. 逆波兰表达式求值 - ...
hello!! 欢迎您参加海波的流浪胶片计划!您的参与不仅仅是拍摄一张照片,更是在这个连续的故事中留下您自己的印记。让我们一起用镜头捕捉生活的美好,用胶片定格时间的魔力。现在,就让我们开始这段不可预知的旅程吧!
项目简介胶片摄影,一种看似被时间淘汰的艺术形式,却能让我们重新发现生活中的简单乐趣。”流浪胶片机计划”不仅仅是一个摄影项目,它是一次心灵的旅行,一场视觉的盛宴,一个连接过去与未来的桥梁。
海波邀请每一位热爱生活的人,无论您是否曾经拿起过胶片相机,来加入这个计划。您将有机会使用一台历经时间洗礼的胶片机,用它来捕捉您眼中的世界。不用担心废片,因为每一张照片都是独一无二的,它们承载着拍摄者的情感和故事,就像每个人的生活一样丰富多彩。
通过这个计划,我们希望能够再次激发大家对生活的热爱,对摄影的兴趣,以及对胶片这一传统媒介的新认识。让我们一起用胶片记录下那些平凡却又不平凡的瞬间,分享那些只属于我们自己的故事。
项目进度
浙江(丽水)站 — 2024.6.12已交接 — 2024.6.13已归还
浙江(杭州)站 — 2024.6.14已交接 — 2024.6.21已归还
...
131. 分割回文串
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串
。返回 s 所有可能的分割方案。
示例 1:
12>输入:s = "aab"输出:[["a","a","b"],["aa","b"]]
示例 2:
12>输入:s = "a"输出:[["a"]]
提示:
1 <= s.length <= 16
s 仅由小写英文字母组成
回溯法:
1234567891011121314151617181920212223class Solution(object): def partition(self, s): """ :type s: str :rtype: List[List[str]] """ ans = [] ...
给定一个二叉树 root ,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
示例 1:
12输入:root = [3,9,20,null,null,15,7]输出:3
示例 2:
12输入:root = [1,null,2]输出:2
提示:
树中节点的数量在 [0, 104] 区间内。
-100 <= Node.val <= 100
解法:递归123456789class Solution { public int maxDepth(TreeNode root) { if (root == null)return 0; int leftDepth = maxDepth(root.left); int rightDepth = maxDepth(root.right); return Math.max(leftDepth,rightDepth) + 1; }}
解法:迭代(广度优先搜索)每一次迭代都删去上一层的所有 ...
给你一个二叉树的根节点 root , 检查它是否轴对称。
示例 1:
12输入:root = [1,2,2,3,4,4,3]输出:true
示例 2:
12输入:root = [1,2,2,null,3,null,3]输出:false
提示:
树中节点数目在范围 [1, 1000] 内
-100 <= Node.val <= 100
12345 2 2 / \ / \ 3 4 4 3 / \ / \ / \ / \8 7 6 5 5 6 7 8
终止条件:
left 和 right 不等,或者 left 和 right 都为空递归的比较 left,left 和 right.right,递归比较 left,right 和 right.left
解法1:递归使用递归比较简单直接:
123456789101112class Solution { public boolean isSymmetric(TreeNode root) { return check(ro ...
121. 买卖股票的最佳时机
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。
示例 1:
1234输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。
示例 2:
123输入:prices = [7,6,4,3,1]输出:0解释:在这种情况下, 没有交易完成, 所以最大利润为 0。
提示:
1 <= prices.length <= 105
0 <= prices[i] <= 104
本题使用暴力破解同样可以获取答案,但是需要消较多的资源且容易超时,所以这道题目需要考虑如何去减少计算中的各 ...