数组和字符串心得体会
数组和字符串心得体会
目录
- 题目及运行结果
- 心得体会
- 源代码
题目及运行结果
第一题: (题目)给你一个整数数组 nums,请编写一个能够返回数组 “中心下标” 的方法。
数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。
如果数组不存在中心下标,返回 -1 。如果数组有多个中心下标,应该返回最靠近左边的那一个。
注意:中心下标可能出现在数组的两端。
示例 1:
输入:nums = [1, 7, 3, 6, 5, 6]
输出:3
解释:
中心下标是 3 。
左侧数之和 (1 + 7 + 3 = 11),
右侧数之和 (5 + 6 = 11) ,二者相等。
示例 2:
输入:nums = [1, 2, 3]
输出:-1
解释:
数组中不存在满足此条件的中心下标。
示例 3:
输入:nums = [2, 1, -1]
输出:0
解释:
中心下标是 0 。
下标 0 左侧不存在元素,视作和为 0 ;
右侧数之和为 1 + (-1) = 0 ,二者相等。
提示:
nums 的长度范围为 [0, 10000]。
任何一个 nums[i] 将会是一个范围在 [-1000, 1000]的整数。
(运行结果)
第二题(题目)给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
输入: [1,3,5,6], 5
输出: 2
示例 2:
输入: [1,3,5,6], 2
输出: 1
示例 3:
输入: [1,3,5,6], 7
输出: 4
示例 4:
输入: [1,3,5,6], 0
输出: 0
(运行结果)
第三题(题目)编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。
示例 1:
输入:
[
[1,1,1],
[1,0,1],
[1,1,1]
]
输出:
[
[1,0,1],
[0,0,0],
[1,0,1]
]
示例 2:
输入:
[
[0,1,2,0],
[3,4,5,2],
[1,3,1,5]
]
输出:
[
[0,0,0,0],
[0,4,5,0],
[0,3,1,0]
]
(运行结果)
心得体会
第一题:
逐个向右遍历,直到恰好满足条件,否则返回-1。
难点:在遍历的条件下,分别计算左右两边的值。
第二题:
同第一题处理好各种情况没有什么难点。
第三题;
重点;分别找到对应的0和处理矩阵。
难点:找到多个0的位置并且修改对应的元素。
第三题多次尝试未能完成 还在寻找问题中。
源代码
第一题:
int pivotIndex(int* nums, int numsSize){
int sum=0,rightsum,leftsum=0,i;
for(i=0;i<numsSize;i++){
sum+=nums[i];
}
for(i=0;i<numsSize;i++){
rightsum=sum-nums[i]-leftsum;
if(rightsum==leftsum)return i;
leftsum+=nums[i];
}
return -1;
}
第二题:
int searchInsert(int* nums, int numsSize, int target){
int i;
for(i=0;i<numsSize;i++){
if(target==nums[i])return i;
}
for(i=0;i<numsSize;i++){
if(target<nums[i])return i;
}
return i;
}
第三题:
void setZeroes(int** matrix, int matrixSize, int* matrixColSize){
int i,t,a,b=0,o[5]={0,0,0,0,0},p[5]={0,0,0,0,0};
for(i=0;i<matrixSize;i++){
for(t=0;t<matrixSize;t++)
{
if(matrix[i][t]==0){
o[b]=i;
p[b]=t;
b++;
}
}
}
for(i=0;i<b;i++){
for(a=0;a<matrixSize;a++){
matrix[o[i]][a]=0;
matrix[a][p[i]]=0;
}
}
}
数组和字符串心得体会相关推荐
- 编程心得体会_生信编程语言的经验之谈
对于生信狗来说,日常的数据分析任务大概可以分成三大类: 纯文本处理 数值计算 图表可视化 其中,对这几个任务的可选的解决方案,以及各自的最优解决方案分别为: 纯文本处理: Linux下的文本处理命令, ...
- 中国象棋程序的设计与实现(七)--心得体会和开发日志
上大学那会,还没有自己专属的SVN仓库,但是我已经意识到了管理代码的重要性,我最常用的一种需求就是恢复到上一个正确的版本. 为此,我每实现一个重要功能,就会备份整个项目一次,增加开发日志,如" ...
- java类与对象实验报告心得体会_java上机实验心得体会报告(大全五篇)
北京联合大学信息学院 "面向对象程序设计"课程上机实验报告 题目: JAVA上机实验心得体会 姓名(学号): 专业:计算机科学与技术 编制时间: 2012年12月19日 版本: 1 ...
- ajax心得体会论文,AJAX重点知识的心得体会
下面就为大家带来一篇 AJAX重点知识的心得体会.学习还是有点帮助的,给大家做个参考吧. AJAX是什么? 是Asynchronous Javascript And XML的首字母的缩写, 它不是一门 ...
- java实验2总结心得,java实验的心得体会
java实验的心得体会 java实验心得体会篇一:java实验总结 1. 设计一个Person类,包含:姓名,年龄,性别.要求:该类至多只能创建一男.一女两个对象! 2. 设计一个测试类Test,创建 ...
- JavaEE心得体会
JavaEE 技术心得体会 1 前端开发 1 简介 前端开发是创建Web页面或app等前端界面呈现给用户的过程,通过HTML,CSS及JS以及衍生出来的各种技术.框架.解决方案,来实现互联网产品的用户 ...
- 我学习Javascript的心得体会与Javascript的小总结
第一部分 小总结 经过今天的学习,让我认识和了解了Javascript的基本知识,知道了js是一门弱类型的脚本语言,能够实现网页特效.对今后的发展对我有巨大的作用,我来简单的总结一下今天我所学的的 ...
- C语言指针的心得体会~
C语言学了这么些天数,果然遇到的第一个难点就是指针~ 指针学习就要结束了,先记录并梳理一下来自己初步理解的内容: 在梳理指针之前: 首先要明白虚拟内存中,是存在连续的,线性排列的内存块,每个内存地址代 ...
- 尘埃落定,纪念我的校招(附腾讯,京东,YY,唯品会的面试题+个人前端心得体会)...
这篇文章很长,如果你觉得我写的好,请耐心看完. 互联网的校招,来的早,去的快,从7月底,阿里和腾讯的校招启动,这场互联网的战声就已拉响. 校招是一个特别折腾你的东西,从网申,笔试,面试,签约,一步一步 ...
最新文章
- Javascript对象的查询字符串编码
- Python 数据结构_堆栈
- Spring自定义属性编辑器PropertyEditorSupport + 使用CustomEditorConfigurer注册属性编辑器...
- 【Codeforces717F】Heroes of Making Magic III 线段树 + 找规律
- Android 图片切换特效 AndroidImageSlider
- no nlsxbe in java.library.path
- python神经网络教程16_Python深度学习之神经网络视频
- sklearn 神经网络_机器学习100天-Day2404 循环神经网络RNN(预测时间序列)
- Unity 5.x---00使用重力
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_09-freemarker基础-内建函数
- 计算机体系结构课后答案
- Xilinx官方文档检索说明
- 一、TI毫米波雷达系列——硬件加速器(HWA)
- kpi绩效考核流程图_KPI绩效考核如何运作起来(内含企业KPI实例之详解)
- 【网络设备】H3C FW V7:安全域与域间策略
- 如何看apk支持的最低Android版本,目标Android版本?
- 读叔本华之《人生的智慧》
- 小米雷军打出王炸,始料未及的华为余承东一下子懵了
- C/S和B/S平滑模糊的时代----推荐:云计算时代的生命周期(吕建伟)
- 关于Linux的那些事儿--系统状态检测命令