- 博客(17)
- 收藏
- 关注
原创 C语言—数组名和首元素地址区别
一.数组名字在两种情况下才代表数组本身----即该段连续的空间1.对数组名进行取地址2.数组名出现在sizeof之后二.其余数组名表示首元素的地址比如:函数传参—>int*int main(){ int array[] = { 1, 2, 3, 4, 5 }; int* p1 = array; int* p2 = array + 0; int* p3 = &array[0]; printf("%d\n", p1); printf("%d\n", p2); pri
2020-10-27 11:16:03
746
原创 剑指offer——数学篇
1.二进制中1的个数题目描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示思路一用1(1自身左移运算,其实后来就不是1了)和n的每位进行位与,来判断1的个数class Solution {public: int NumberOf1(int n) { int count=0; int flag=1; while(flag!=0) { if((flag&am
2020-09-09 21:20:36
114
原创 #ifndef 和 #pragma once
1.为什么要用 #ifndef 和 #pragma once?当我们做大的项目时,需要用到多文件操作,在写的过程中,会不小心把同一个头文件include多次,或者头文件嵌套。例如:one.h中包含two.htwo.h中包含one.hmain.c中使用其中的头文件编译运行后,会出现如下错误:总结:为了避免同一个透文件被多次include,C/C++中有两种处理方式。第一种是用 #ifndef 声明定义,第二种是用 #pragma once 声明定义。在能够支持这两种方式的编译器上,二者并
2020-09-03 11:15:17
223
原创 8.十进制转换为N进制
1.题目描述给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数输入描述:输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。输出描述:为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10 用A表示,等等)示例1:输入7 2输出1112.题目解析将10进制数M转化为N进制数,N(2...
2020-08-31 18:55:03
229
原创 常用的几种查找算法
一.顺序查找1.题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。2.算法描述顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。3.核心CODEclass Solution { public int seque
2020-08-31 18:52:27
1189
原创 大端和小端的区别和判断
1.概念大端模式(big endian):数据的高位字节保存在内存的低地址中,而低位字节保存在内存的高地址中。小端模式(little endian):数据的高位字节保存在内存的高地址中,而低位字节保存在内存的低地址中。问:什么是高位字节?什么是低位字节?答:例如:1234561为最高位字节,下来是2,3,4,5,最后才是6.,为最低字节。2.下面的图可以清晰理解0x12345678在两种不同字节序的cpu中的存储顺序。如下图所示:3.如何判断机器的大小端呢?#方法:利用字节序的存储
2020-08-14 20:48:00
3866
原创 9.统计回文数
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有 对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符 串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新 串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。
2019-11-27 11:27:47
431
原创 8.十进制转换成其他进制
给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数 输入描述: 输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。 输出描述: 为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10 用A表示,等等)
2019-11-19 17:43:52
183
原创 7.计算糖果
A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道 以下的信息: A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数. 现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所 有题设条件
2019-11-19 17:43:05
194
原创 6.数组中出现次数超过一半的数字
1.题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组 {1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出 0。示例1输入:91,2,3,2,2,2,5,4,2输出:22.题目解析找出数组中超过一半数的那个数字。3.解题思路1.如果有符合条件的数字,...
2019-11-15 17:04:29
97
原创 5.字符串中找出连续最长的数字串
1.题目描述读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。示例1:输入abcd12345ed125ss123456789输出1234567892.题目解析一段字符串中,有数字,有字母符号等,找出连续最长的数字串即可。3....
2019-11-15 15:50:46
530
原创 4.倒置字符串
1.题目描述将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述依次输出倒置之后的字符串,以空格分割示例1:输入I like beijing.输出beijing. like I2.题目...
2019-11-14 12:26:02
280
原创 3.排序子序列
1.标题描述牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一 个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.输入描述:输入描述:输入的第一行为一个正整数n(1 ≤ n ≤ 10^5)第二行包括n个整数A_i(1 ≤ A_i ≤ 10^9),表示数组A的每个数字。...
2019-11-13 20:01:14
212
原创 2.删除公共字符——两种解法
1.题目描述输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”输入描述:每个测试输入包含2个字符串输出描述:输出删除后的字符串示例1:输入They are students.aeiou输出Thy r stdnts.2.解题思路本题...
2019-11-13 15:50:30
374
原创 1.组队竞赛
1.题目描述牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一 共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。例如:一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是1,5,2.那么队伍的水...
2019-11-12 17:24:51
187
原创 1——100~200之间的素数——超详细注释
1.打印100~200之间的素数一.解题思路: 素数:只能被1和它本身的数整除。二.代码 编译环境:VS2013 代码如下:#include<stdio.h>#include<stdlib.h>int main(){ int i=0; for (i = 100; i <= 200; i++) /...
2019-10-23 23:05:18
505
原创 tie niu 养成记
2019年3月26日下午,提着电脑出门,坐在自习室里,注册了自己的CSDN,开始写下贴牛博客里的第一篇文章,Mark下自己的编程之旅。我叫贴牛,现就读于西安科技大学电子信息类专业。记得,刚进入大学的时候,喜欢运动的牛牛便参加了许多有趣的比赛和活动,并且也开始了自己的撸铁之旅,整日与铁为伴。当时只想着如何去玩,不曾想过自己将来要走什么样的路,只有迷茫。而现在,眨眼间,大学生活即将过半,日子一天天过...
2019-04-20 14:20:28
460
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人