• 第 361 场周赛 (AC 1,第二题过了但是考试结束了)


    7020.统计对称整数的数目

    思路一:指定区间统计对称整数

    • 1.遍历区间
    • 2.判断该数对不对称
      • 对称逻辑:首尾同时开始遍历,并且同时累加为两个数,最后判断两个数是否相等
    1. class Solution {
    2. public:
    3. bool judge(int num){
    4. if(num<=10) return false;//特例1
    5. string str=to_string(num);
    6. if(str.size()%2!=0) return false;//特例2
    7. int left=0,right=str.size()-1,suml=0,sumr=0;
    8. while(left//首尾同时累加
    9. suml+=str[left++]-'0';
    10. sumr+=str[right--]-'0';
    11. }
    12. if(suml!=sumr) return false;//判断累加的数是否相等
    13. return true;
    14. }
    15. int countSymmetricIntegers(int low, int high) {
    16. int res=0;
    17. for(int i=low;i<=high;i++){
    18. if(judge(i)) res++;
    19. }
    20. return res;
    21. }
    22. };

    8040.生成特殊字符的最少操作

    分析:刚开始想到回溯,但是实际做起来发现不太好找,甚至有些多余

    思路一:直接两个for循环遍历,找到两个数可以被25整除,并且更新这两个数位于整个字符串的较右侧

    如图:较右侧显然为75,所以在编写时,需要更新 i 为最大 (部分没标出)

    1. class Solution {
    2. public:
    3. int minimumOperations(string num) {
    4. if(num.size()<7){
    5. if(stoi(num)%25==0) return 0;//主要判断有的可以直接被25整除
    6. // else return num.size();
    7. }
    8. int left=INT_MIN,right=0,count=0;
    9. string mid;
    10. for(int i=0;isize()-1;i++){
    11. if(num[i]=='0') count++;//记录0的个数
    12. for(int j=i+1;jsize();j++){
    13. if(num[j]=='0') count++;//有i遍历不到的j记录
    14. mid.push_back(num[i]);
    15. mid.push_back(num[j]);
    16. if(mid=="25" || mid=="00" || mid=="75" || mid=="50"){//在找到符合的情况下
    17. if(i>left){//找到i最大
    18. left=i;
    19. right=j;
    20. cout<
    21. }
    22. }
    23. mid.clear();
    24. }
    25. }
    26. if(left==INT_MIN){//如果前面没找到有可以整除25的组合
    27. //cout<<123;
    28. if(count>0) return num.size()-1;//存在0的话,可以最后剩一个0(00已经找过)
    29. return num.size();
    30. }
    31. return num.size()-left-2;//整个数组长度-整除的数开始位置=整除的数+多余的数
    32. //整除的数为两位:所以此时-2就只剩多余的数
    33. }
    34. };

  • 相关阅读:
    03 编译Java虚拟机
    [Docker]记一次使用jenkins将镜像文件推送到Harbor遇到的问题
    剑指 Offer 10- I. 斐波那契数列
    Android13-图片视频选择器
    MQ收到无序的消息时如何进行业务处理
    深度学习系列1——Pytorch 图像分类(LeNet)
    MySQL之临时表
    Java 基于微信小程序的快递柜小程序
    NameNode (NN) 和SecondaryNameNode (2NN)工作机制
    什么是网络编程
  • 原文地址:https://blog.csdn.net/Ricardo_XIAOHAO/article/details/132657243