199. 二叉树的右视图

题目描述:

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

示例:

输入: [1,2,3,null,5,null,4]
输出: [1, 3, 4]
解释:

   1            <---
 /   \
2     3         <---
 \     \
  5     4       <---

解题思路:

层序遍历:每一层访问到的最后一个节点即为能看到的最右侧元素

class Solution:
    def rightSideView(self, root: TreeNode) -> List[int]:
        if not root:
            return []
        queue=deque([root])
        def helper(node):
            if not node:
                return
            while queue:
                l=len(queue)
                tmp=[]
                for i in range(l):
                    cur=queue.popleft()
                    tmp.append(cur.val)
                    if cur.left:
                        queue.append(cur.left)
                    if cur.right:
                        queue.append(cur.right)
                res.append(tmp[-1])
        res=[]
        helper(root)
        return res

 

好的,为了将 -21.52 这个浮点数转换成特定格式的定点数(总长 16 、其中包含 1 符号、5 整数部分以及 10 小数),你可以按照以下步骤来进行: ### 定义公式 首先确定需要的数值范围精度。给定条件意味着最值可以达到 \( \pm (2^4 + 2^3 + 2^2 + 2^1 + 2^0) = ±31\) ,并且有足够精确的小数表示。 对于任意实数x,其对应的Q格式(即指定二进制置作为小数点后的第一) 的量化值可通过下面公式获得: \[ Q(m,n)= round(x * 2^n)\] 这里 m 表示整数部分的宽减去一用于存储符号;n 则是分数部分所占用比特数,在你的情况下m=5-1=4, n=10. 因此我们将使用此公式来计算给定数字 `-21.52` 对应于 `Q4.10` 格式的整数值,并通过MATLAB代码实现该过程: ```matlab % 输入原始数据 original_value = -21.52; % 设置参数 int_bits = 4; % 整数宽度 减掉符号所以是5-1 frac_bits = 10;% 小数宽度 % 计算固定点表示法下的整形值 fixed_point_val = round(original_value * pow2(frac_bits)); disp(['Fixed-point representation as integer:', num2str(fixed_point_val)]); binary_representation = dec2bin(typecast(int16(fixed_point_val), 'uint16'), 16); disp(['Binary Representation : ', binary_representation]); % 如果想要验证结果是否准确地接近原值 recovered_decimal = double(typecast(int16(fixed_point_val), 'single')) / pow2(frac_bits) ``` 上述脚本会把输入的负浮点数转化为一个适合嵌入式系统使用的二进制串形式,并显示相应的十进制二进制表达方式。最后还提供了一个简单的反变换函数以便检查正向变换的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值