Cracking The Coding Interview 1.7

2023-11-30 19:38
文章标签 coding 1.7 interview cracking

本文主要是介绍Cracking The Coding Interview 1.7,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//Write an algorithm such that if an element in an MxN matrix is 0, its entire row and column is set to 0.
//
//这题原答案就是要两个buffer来记录出现0的位置。不知道有没可以不用buffer的方法。#include <iostream>
using namespace std;
void setZero(int **matrix, int m, int n)
{int *hang = new int[n];int *lie = new int[m];for (int i = 0; i< m; i++){for (int j=0; j <n;j++){if (matrix[i][j] == 0){hang[j] = 1;lie[i] = 1;}}}for (int i = 0; i<m; i++){for (int j = 0; j<n; j++){if (hang[j] ==1 || lie[i] ==1){matrix[i][j]=0;}}}
}void display(int **matrix, int size, int n)
{for (int k = 0; k<size; k++)for (int t = 0; t<n; t++){cout<<matrix[k][t]<<"  ";if (t==n-1){cout<<endl;}}
}int main()
{int m = 4,n = 5;int **p = new int *[m];for (int i=0;i<m;i++){p[i] = new int[n];}for (int i =0;i<m;i++){for (int j=0;j<n;j++){p[i][j] = 2*i+j; }}p[2][3] =0;display(p,m,n);cout<<endl;setZero(p,m,n);display(p,m,n);return 0;
}

这篇关于Cracking The Coding Interview 1.7的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438283

相关文章

mac jdk 1.7 dmg 官方版

百度云下载 https://pan.baidu.com/s/1SQiidrPFF5aZr4xlx0ekoQ https://pan.baidu.com/s/1SQiidrPFF5aZr4xlx0ekoQ   补充说明: 实际上oracle对于历史版本的jdk都有归档可以在官方网站上下载,只是需要注册个号就可以了。 地址如下: https://www.oracle.com/cn/java

java 1.7之后的Arraylist容量增长机制

一直以来都错误的理解Arraylist的容量自增长是添加一个元素容量自动加1,偶然的聊起这个话题,才发现貌似我理解错了,跑去看了Arraylist的源代码才清楚了它的容量自增长机制并不是我所认为的那样。下面是Arraylist容量增长的源代码,附上一些注释,如果有不正确的还希望大家能给纠正~~~ 首先看一下ArrayList添加元素的方法: public boolean add

【算法:二分查找】java算法二分查找,如何通过二分查找找到重复元素的第一个,coding

二分查找算法,是基于有序的结果集进行查询的 二分查找的时间复杂度是O(logN) 写一段二分查询的代码: public static void main(String[] args) {int[] data = new int[]{1, 2, 3, 3, 5, 5, 6, 8, 9, 9, 10};int queryData = 5;int index = queryDataIndex(qu

Cracking the Safe

原题链接:https://leetcode.cn/problems/cracking-the-safe/description/ 题目要求的是,某个时刻能够打开保险箱的任一最短密码序列,需要包含所有密码子串。 答案应当是一个字符串,任意长度为n的子串的都是一种密码方案。 对于有n位,每位k种方案的密码串,共有k^n个。 题目要求最短,那么任意位置选出的子串应当是不重复的。 也就是说,一个

《WEB开发-HEXO博客搭建》第4章 同步到Coding

笔者博客地址 1.注册Coding.net账号 Coding官网:https://coding.net/ 【注意】如果不想花钱的话要绑定腾讯云可以免费升级,笔者使用的是绑定腾讯云升级的。 图1 2.新建项目 注意项目名与注册用的账户名一致,这里我用的是ouxiaolong。 图2 图3 3.添加公钥 上面设置完毕之后点击创建项目,然后点击设置->部署公钥->新建

Git之1.7版本重要特性及用法实例(五十五)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者. 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐

1.7.1 总线

假设某系统总线在一个总线周期中并行传输4个字节信息,一个总线周期占用2个是时钟周期,总线时钟频率为10MHZ,则总线带宽是( )。 A. 10MB/s B. 20MB/s C. 40MB/s D. 80MB/s 正确答案是 B。 解析 总线带宽是指单位时间内总线上传输数据的位数,通常用每秒传送信息的字节数来衡量,单位为B/s。由题意可知,在1个总线周期(2个是时钟周期)内传输了4个字节信息,时

代码规范工具大比拼---Alibaba Java Coding Guidelines

代码规范工具大比拼---Alibaba Java Coding Guidelines   一,序言        对于代码规范的工具,市场上有很多很多, 我们常常说:”工欲善其事必先利其器”, 一个非常强大的代码检查工具, 能让很多代码实践者减少很多多不必要的小错误,尤其是对于一个团队来说,能较好的统一代码规则.   二,详情    1,Sonar

【Git】更新拉取Coding子仓库代码 及 过程中用户名密码输什么 git submodule

背景: 克隆拉取完主仓库,没有初始化子仓库 主仓库目录下有.gitmodules文件,存储了子仓库路径和url [submodule "aa"]path = aaurl = git@e.coding.net:aa.git[submodule "bb"]path = bburl = git@e.coding.net:bb.git 在主仓库目录下输入以下命令拉取更新子仓库代码 git s

【操作系统 / 系统编程】2025 秋招超详细复习指南 - 基于 Linux 环境的全面复习 - 持续更新(目前1.7w字)

操作系统 / 系统编程复习目录 一、进程概念1. 冯诺依曼1.1 外设1.2 IO1.3 数据流1.4 存储分级 && IO效率 2. OS2.1 作用:管理2.2 管理:先描述,再组织2.3 内存管理、进程管理、文件系统、驱动管理 3. 进程3.1 什么是进程3.2 为什么要有 PCB(task_struct)3.3 task_struct 内容3.4 PID / PPID,getpid(