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

3.28学习总结

完成分割回文串的算法题,难点主要在如何去分割,靠什么去分割字符串

int a(char arr[]){
    int i,j;
    int len=strlen(arr);
    for(i=0,j=len-1;i<j;i++,j--){
        if(arr[i]!=arr[j]) return 0;
    }
    return 1;
 }
 char **path;
 int pathtop;
 char***reasult;
 int*ansize;
 int count;
 void copy(){
    char**tempth=(char**)malloc(sizeof(char*)*pathtop);
    int i;
    for(i=0;i<pathtop;i++){
        tempth[i]=path[i];
    }
    reasult[count]=tempth;
    ansize[count++]=pathtop;
 }
 char*cutstring(char*str,int startindex,int endindex){
    char*temp=(char*)malloc(sizeof(char)*(endindex-startindex+2));
    int i;
    int index=0;
    for(i=startindex;i<=endindex;i++){
        temp[index++]=str[i];
    }
    temp[index]='\0';
    return temp;
 }
 void backtracking(char*s,int startindex,int size){
    if(startindex>=size){
      copy();
      return;
    }
    for(int i=startindex;i<size;i++){
        char*temp=cutstring(s,startindex,i);
        if(a(temp)){
            path[pathtop++]=temp;
        }else {
            continue;
        }
        backtracking(s,i+1,size);
        pathtop--;
    }
 }
char*** partition(char* s, int* returnSize, int** returnColumnSizes){
             int len=strlen(s);
             char*** partition(char* s, int* returnSize, int** returnColumnSizes);
             path=(char**)malloc(sizeof(char*)*len);
             reasult=(char***)malloc(sizeof(char**)*40000);
             ansize=(int*)malloc(sizeof(int)*40000);
             pathtop=0;
             count=0;
             backtracking(s,0,len);
             *returnSize=count;
             *returnColumnSizes=(int*)malloc(sizeof(int)*(*returnSize));
             for(int i=0;i<*returnSize;i++){
                (*returnColumnSizes)[i]=ansize[i];
             }
             return reasult;
}

继续跟着写Java的拼图小游戏的项目,感觉对Java的使用更清晰了

http://www.dtcms.com/a/96492.html

相关文章:

  • Java实现定时任务
  • 深入剖析ReentrantLock底层原理:从AQS到公平锁的源码级解析
  • 游戏引擎学习第189天
  • Selenium测试框架快速搭建
  • AILabel标注工具指南(二):禁止图片外标注
  • 技术速递|为 .NET 的 AI 评估解锁新的可能性
  • 跟着尚硅谷学vue-day1
  • Debian ubuntu源
  • 在Electron+Vue应用中实现文件自动监视与更新功能
  • QT路径获取
  • Spark2 之 qualification-tool
  • 解释时间复杂度 O() 表示法,如何评估算法效率?
  • MATLAB中getfield函数用法
  • [GESP202503 C++一级题解]:B4257:图书馆里的老鼠
  • 聚焦交易能力提升!EagleTrader 模拟交易系统打造交易成长新路径
  • Mac: 运行python读取CSV出现 permissionError
  • ARCGIS PRO SDK VB2022 图层要素类类型判断
  • 【RocketMQRocketMQ Dashbord】Springboot整合RocketMQ
  • 大模型 API 调用中的流式输出与非流式输出全面对比:原理、场景与最佳实践
  • 【web应用安全】关于web应用安全的几个主要问题的思考
  • 【Uni-App】嵌入悬浮球全局组件的详细教程和防踩坑点
  • 高校动作捕捉实训室:赋能高校高水平动画专业人才培养
  • Postman 如何发送 Post 请求上传文件? 全面指南
  • 微信小程序云开发-云函数lookup联合查询返回数组为空-解决方法
  • Linux\CentOS解决OpenSSH和Nginx安全漏洞
  • APNS和FCM推送服务脚本
  • Kubernetes》k8s》Containerd ctr cri
  • DPO介绍+公式推理
  • ngx_http_core_init_main_conf
  • 将任何网站变成独立的桌面应用 开源免费 Tuboshu