当前位置: 首页 > news >正文

d202546

 

目录

一、罗马字符转数字

 二、二叉树的右视图

三、sql-查询结果的质量和占比


一、罗马字符转数字

 首先把两个字符组成一个数字做一下单独判断

然后就是单个字符转数字

public int romanToInt(String s) {
        int sum = 0;
        char[] ch = s.toCharArray();
        int i = 0;
        while(i < ch.length){
            if(i+1 < ch.length && ch[i] == 'I' && (ch[i+1] == 'V' || ch[i+1] == 'X')){
                sum += getVal("" + ch[i] + ch[i+1]);
                i++;
            } else if(i+1 < ch.length && ch[i] == 'X' && (ch[i+1] == 'L' || ch[i+1] == 'C')){
                sum += getVal("" + ch[i] + ch[i+1]);
                i++;
            } else if(i+1 < ch.length && ch[i] == 'C' && (ch[i+1] == 'D' || ch[i+1] == 'M')){
                sum += getVal("" + ch[i] + ch[i+1]);
                i++;
            } else {
                sum += getVal("" + ch[i]);
            }
            i++;
        }
        return sum;
    }
    public int getVal(String str){
        if(str.equals("I")){
            return 1;
        } else if(str.equals("V")){
            return 5;
        } else if(str.equals("X")){
            return 10;
        } else if(str.equals("L")){
            return 50;
        } else if(str.equals("C")){
            return 100;
        } else if(str.equals("D")){
            return 500;
        } else if(str.equals("M")){
            return 1000;
        } else if(str.equals("IV")){
            return 4;
        } else if(str.equals("IX")){
            return 9;
        } else if(str.equals("XL")){
            return 40;
        } else if(str.equals("XC")){
            return 90;
        } else if(str.equals("CD")){
            return 400;
        } else if(str.equals("CM")){
            return 900;
        }
        return -1;
    }

 二、二叉树的右视图

对二叉树进行层序遍历

将每一层最右边的值进行记录

 public List<Integer> rightSideView(TreeNode root) {
       Queue<TreeNode> queue = new LinkedList<>();
       if(root != null){
        queue.offer(root);
       }
       List<Integer> ret = new ArrayList<>();
       while(!queue.isEmpty()){
            List<Integer> temp = new ArrayList<>();
            int n = queue.size();
            while(n-- != 0){
                TreeNode now = queue.poll();
                temp.add(now.val);
                if(now.left != null){
                    queue.offer(now.left);
                }
                if(now.right != null){
                    queue.offer(now.right);
                }
            }
            ret.add(temp.get(temp.size()-1));
       }
       return ret;
    }

三、sql-查询结果的质量和占比

round(),四舍五入

count 不会统计null的值,这里可以使用if(true,a,b)来进行统计小于3的个数

select query_name,
round(avg(rating/position),2) as 'quality',
round(count(if(rating<3,1,null))*100/count(*),2) as 'poor_query_percentage'
from Queries
group by query_name;

相关文章:

  • Java项目集成大模型(通译千问)
  • Python星球日记 - 第3天:运算符与表达式
  • 内存与显存:从同根生到殊途异路的科技演进
  • 机器学习新范式:Kubernetes + Kubeflow,解锁模型训练与部署的高效密码
  • Word 页眉设置(不同章节不同页眉)
  • 迭代器介绍与使用(四十一)
  • java 正则表达式优化
  • 使用SPSS进行链式中介模型分析
  • ansible可视化自动化平台-semaphore
  • 脑电学习笔记
  • 哈希表(闭散列)的实现
  • 匿名函数自调用
  • Draw.io 全面解析与竞品分析:图表绘制工具的深度对比
  • 这是一份简单优雅的Prompt Engineering教程
  • 25.4.6学习总结
  • C++ 中为什么构造函数不需要实现虚函数,而析构函数需要?
  • 线程同步的学习与应用
  • 设计模式简述(八)中介者模式
  • 从扩展黎曼泽塔函数构造物质和时空的结构-15
  • swift-11-init、deinit、可选链、协议、元类型
  • 北京装修公司全包价格/网站推广优化外包公司哪家好
  • 做球迷网站/北京seo关键词排名优化软件
  • 网站建设展示型是什么/北京优化网站方法
  • 无锡网站开发befen/我在百度下的订单如何查询
  • 用html做网站代码/营销策划公司排名
  • 做时时网站要多少钱/电商网站如何避免客户信息泄露