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

CCI_Q1.7

本文参考该作者文章当作编程笔记:

作者:Hawstein
出处:http://hawstein.com/posts/ctci-solutions-contents.html

一.

Q:写一个函数处理一个N×M的矩阵,如果矩阵中某个元素为0,那么把它所在的行和列都置为0.

思路:额外申请两个数组row[N],col[M],如果元素s[i][j]等于0,那么row[i]和col[j]都等于0,最后重新遍历数组,将行列对应的元素设为0.

CODE:

 1 #include<stdio.h>
 2 #include<memory.h>
 3 #define N 4
 4 #define M 4
 5 void zero(int s[][M] )
 6 {
 7     int row[N],col[M],i,j;
 8     memset(row,0,sizeof(row));
 9     memset(col,0,sizeof(col));
10     for(i=0;i<N;i++)
11         for(j=0;j<M;j++)
12         {
13             if(s[i][j]==0)
14             {
15                 row[i]=1;
16                 col[j]=1;
17             }
18         }
19     for(i=0;i<N;i++)
20         for(j=0;j<M;j++)
21         {
22             if(row[i]==1||col[j]==1)
23                 s[i][j]=0;
24         }
25 
26 }
27 int main(void)
28 {
29     int s[N][M]={{1,2,3,0},{6,2,3,6},{9,8,8,4},{1,0,2,3}};
30     int i,j;
31     for(i=0;i<N;i++)
32     {
33         for(j=0;j<M;j++)
34             printf("%4d",s[i][j]);
35         printf("\n");
36     }
37     printf("\n");
38     zero(s);
39     for(i=0;i<N;i++)
40     {
41         for(j=0;j<M;j++)
42             printf("%4d",s[i][j]);
43         printf("\n");
44     }
45 
46     return 0;
47 }

 

转载于:https://www.cnblogs.com/jhooon/p/3576973.html

相关文章:

  • 服务器安全部署文档
  • [转]How to solve SSIS error code 0xC020801C/0xC004700C/0xC0047017
  • 【VC++学习笔记三】控件自绘
  • 长沙多校联合训练
  • Windows下修改Git bash的HOME路径(转)
  • 高性能javascript学习总结(3)--数据访问
  • 灵感不断
  • 各种触摸手势
  • Java对MySQL数据库进行连接、查询和修改【转载】
  • 如何向妻子解释OOD (转)
  • 表单批量添加
  • Windows 7 IIS (HTTP Error 500.21 - Internal Server Error)解决
  • 大话设计模式系列
  • eclipse与myeclipse的区别
  • Cocos2d-x学习笔记(一) 搭建开发环境
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • canvas 高仿 Apple Watch 表盘
  • CAP理论的例子讲解
  • css属性的继承、初识值、计算值、当前值、应用值
  • JavaScript类型识别
  • JAVA多线程机制解析-volatilesynchronized
  • js面向对象
  • JS学习笔记——闭包
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • scala基础语法(二)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • vue中实现单选
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 力扣(LeetCode)21
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 用Python写一份独特的元宵节祝福
  • ionic入门之数据绑定显示-1
  • ​2020 年大前端技术趋势解读
  • ​configparser --- 配置文件解析器​
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​如何在iOS手机上查看应用日志
  • # 数论-逆元
  • #pragma multi_compile #pragma shader_feature
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (九)One-Wire总线-DS18B20
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (学习日记)2024.01.19
  • (一)Linux+Windows下安装ffmpeg
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)C#调用WebService 基础
  • (转)大型网站架构演变和知识体系
  • .gitignore文件_Git:.gitignore
  • .net core 依赖注入的基本用发
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .net对接阿里云CSB服务
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc