自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(139)
  • 收藏
  • 关注

原创 leetcode[9]回文数

leetcode[9]回文数给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。思路:将数字颠倒过来,判断是否和原来的值是否相等,若相等,则是回文数,若不等,则不是bool isPalindrome(int x){ int ret=0; int p=x; bool a=false; if(x<0){ retu

2021-06-07 11:04:54 307

原创 leetcode[8]字符串转换整数(atoi)

leetcode[8]字符串转换整数(atoi)请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。/** * @param {string} s * @return {number} */var myAtoi = function(s) { let pre="",num="",idx=0; while(s[idx]==" "){ idx++; } whil

2021-06-07 10:14:48 179

原创 leetcode[7]整数反转

leetcode[7]整数反转给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。C语言代码int reverse(int x){ int ret=0; while(x!=0){ if(ret<INT_MIN/10||ret>INT_MAX/10){ retur

2021-06-07 09:42:10 180

原创 leetcode[5]最长回文子串

leetcode[5]最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。/** * @param {string} s * @return {string} */var longestPalindrome = function(s) { let n=s.length; if(n<2){ return s; } //初始化二维数组 const dp=[]; for(let i=0;i<n;i++){

2021-06-07 08:58:17 76

原创 leetcode[4]寻找两个正序数组的中位数

leetcode[4]寻找两个正序数组的中位数给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。如:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size){ //合并

2021-06-06 11:10:20 72

原创 leetcode[3]无重复字符串的最长字串

leetcode[3]无重复字符串的最长字串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度如:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3/** * @param {string} s * @return {number} */var lengthOfLongestSubstring = function(s) { //创建一个哈希集合,来记录每个字符是否出现过 const occ=new

2021-06-06 10:38:29 64

原创 leetcode[2]两数相加

leetcode[2]两数相加思路:每一位都对应相加,记录进位数,每一位的和都为当前这两个数以及前一位的进位数;(%10 /10的过程)长度短的后面补零。最后一个如果有进位数,需开辟空间,来储存这个进位数C语言:/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNod

2021-06-06 10:01:58 61

原创 leetcode[1]两数之和

leetcode[1]题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案实例:输入:nums = [3,2,4], target = 6输出:[1,2]/** * Note: The returned array must be malloced, assume caller ca

2021-06-05 08:28:23 94

原创 【C】104.柔性数组

柔性数组方法一:#include <stdio.h>#include<stdlib.h>struct S { int n; int arr[];//柔性数组};int main() { struct S* ps = (struct S*)malloc(sizeof(struct S) + 5 * sizeof(int)); if (ps != NULL) { ps->n = 100; int i = 0; for (i = 0; i < 5

2021-05-26 18:14:46 57

原创 【C】103.动态内存函数的使用

动态内存函数的使用malloc函数和free函数#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>int main() { int* p = (int*)malloc(INT_MAX); //int* p = (int*)malloc(10 * sizeof(int)); if

2021-05-26 16:43:44 67

原创 【C】102.实现通讯录的功能

实现通讯录的功能text.c#include <stdio.h>#include "contact.h"#define _CRT_SECURE_NO_WARNINGS 1void menu() { printf("*******************************\n"); printf("**********1 add 2 del *********\n"); printf("**********3 ser 4 modify***

2021-05-25 16:39:29 257

原创 【C】99.字符串相关函数的实现

字符串长度函数的实现int my_strlen(const char* str) { int count = 0; assert(str != NULL); while (*str != '\0') { count++; str++; } return count;}字符串复制函数的实现char * my_strcpy(char* dest, char* src) { assert(dest != NULL);assert(src != NULL); char* ret =

2021-05-24 10:10:10 62

原创 【C】98.杨氏矩阵

题目名称:杨氏矩阵题目内容:有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在要求:时间复杂度小于O(N)#include <stdio.h>int find(int arr[3][3], int k, int row, int col) { int x = 0; int y = col - 1; while ((x <= (row - 1)) && (y >= 0)) { if (k &g

2021-05-22 10:23:01 67

原创 【C】97.写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串

写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串,如:给定s1=AABCD和s2=BCDAA,返回1,给定s1=abcd和s2=ABCD,返回0#include <stdio.h>#include <string.h>#include <assert.h>void reverse(char* left, char* right) { assert(left != NULL); assert(right != NULL); while (lef

2021-05-22 09:08:20 546 1

原创 【C】96.实现一个函数,可以旋字符串中的k个字符

题目内容:实现一个函数,可以旋字符串中的k个字符例如:ABCD左旋一个字符,得到BCDAABCD左旋两个字符得到CDAB1.暴力求解法#include <stdio.h>#include <string.h>#include <assert.h>void move(char* str, int m) { assert(str); int len = strlen(str); int i = 0; for (i = 0; i < m; i++)

2021-05-22 08:44:32 54

原创 【C】93.猜名次

猜名次题目内容:5位运动比赛结果:a:b第二,我第三b:我第二,e第四c:我第一,d第二d:c最后,我第三e:我第四,a第一#include <stdio.h>int main() { int a = 0; int b = 0; int c = 0; int d = 0; int e = 0; for (a = 1; a <= 5; a++) { for (b = 1; b <= 5; b++) { for (c = 1; c <= 5;

2021-05-21 18:00:29 74

原创 【C】91.猜凶手

一谋杀案,4个嫌疑犯,供词如下:a说:不是我b说:是cc说:是dd说:c在胡说已知3个人说了真话,1个人说的是假话现根据这些信息,写一个程序来确定到底谁是凶手#include <stdio.h>int main() { char killer = 0; for (killer = 'a'; killer <= 'd'; killer++) { if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (kil

2021-05-21 17:03:51 76

原创 【C】90.打印杨辉三角

打印杨辉三角#include <stdio.h>int main() { int arr[10][10] = { 0 }; int i = 0; for (i = 0; i < 10; i++) { int j = 0; for (j = 0; j < 10; j++) { arr[i][0] = 1; if (i == j) { arr[i][j] = 1; } if ((i >= 2) && (j

2021-05-21 16:48:17 97

原创 【C】88.调整数组使奇数全部都位于偶数后面

题目名称:调整奇偶数顺序题目内容:调整数组使奇数全部都位于偶数后面#include <stdio.h>void move(int arr[], int sz){ int left = 0; int right = sz - 1; //左边找偶数,右边找奇数,之后进行交换,前提条件都是left<right while (left < right) { //左边找偶数 while ((left < right) && (arr[left] %

2021-05-21 15:49:55 158

原创 【C】87.题目名称:喝汽水问题 题目内容:喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水

题目名称:喝汽水问题题目内容:喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水#include <stdio.h>int main() { int money = 0; //可以喝的总瓶数 int total = 0; //利用empty来记录空瓶的个数 int empty = 0; scanf_s("%d", &money); total = money; empty = money; while (empty >= 2) {

2021-05-21 15:05:04 117

原创 【C】85.寻找1-100000中的自幂数(三位数称水仙花数)

寻找1-100000中的自幂数(三位数称水仙花数)#include <stdio.h>#include <math.h>int main() { int i = 0; for (i = 1; i <= 100000; i++) { //先计算一个数有几位 int temp=i; int n = 1; while (temp=temp/10) { n++; } temp = i; int sum = 0; while (temp)

2021-05-21 14:08:13 138

原创 【C】84.求S=a+aa+aaa+aaaa+aaaaa前5项之和,其中a是一个数字 例如:2+22+222+2222+22222

题目名称:计算求和题目内容:求S=a+aa+aaa+aaaa+aaaaa前5项之和,其中a是一个数字例如:2+22+222+2222+22222#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main() { int a = 0; int n = 0; int i = 0; scanf("%d%d", &a, &n); int sum = 0; int ret = 0; for (i = 0;

2021-05-21 08:55:08 256

原创 【C】83.实现字符串的逆序

实现字符串的逆序#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#include <assert.h>void reverse(char *str) { assert(str); int len = strlen(str); char* left = str; char* right = str + len - 1; while (left < rig

2021-05-21 08:38:28 55

原创 【C】82.指针相关题目

指针相关题目(1)#include <stdio.h>int main() { int a[5] = { 1,2,3,4,5 }; int* p = (int*)(&a + 1); printf("%d %d", *(a + 1), *(p - 1)); return 0;}结果:2 5(2)#include <stdio.h>struct Test { int Num; char* name; short date; char cha[2]

2021-05-20 16:18:08 78

原创 【C】80.利用qsort进行各种数据类型的排序

利用qsort进行各种数据类型的排序其头文件是stdlib.h对整形数组进行排序int cmp_int(const void* e1, const void* e2) { return *(int*)e1 - *(int*)e2;}int main() { int arr[10] = { 2,1,4,3,9,5,6,8,7,0 }; int sz = sizeof(arr) / sizeof(arr[0]); qsort(arr, sz, sizeof(arr[0]), cmp_int);

2021-05-19 14:01:42 73

原创 【C】78.利用函数指针数组来完成计算器的功能

利用函数指针数组来完成计算器的功能#include <stdio.h>void menu() { printf("******************\n"); printf("***1 add 2 sub****\n"); printf("***3 mul 4 div****\n"); printf("*****0 exit*********\n");}int add(int x, int y) { return x + y;}int sub(

2021-05-18 15:04:24 84

原创 【C】66.写一段代码告诉我们当前机器的字节序是什么

写一段代码告诉我们当前机器的字节序是什么#include <stdio.h>int main() { int a = 1; char* p = (char*)&a; if (*p == 1) { printf("小端\n"); } else { printf("大端\n"); }}

2021-05-16 21:29:22 59

原创 【C】63.写一个计算字符串长度的函数

写一个计算字符串长度的函数#include <stdio.h>#include <assert.h>int my_strlen(const char* str) { int count = 0; assert(str != NULL); while (*str != '\0') { count++; str++; } return count;}int main() { char arr[] = "abcdefg"; int len = my_str

2021-05-16 17:20:53 103

原创 【C】62.在不使用string.h头文件的前提下,实现字符串的复制

在不使用string.h头文件的前提下,实现字符串的复制void my_strcpy(char* dest, char* str) { while (*str != '\0') { *dest = *str; str++; dest++; } *dest = *str;//这个是将str里的'\0'赋给dest里的'\0'}改进版#include <stdio.h>#include <assert.h>void my_strcpy(char* dest

2021-05-16 17:11:36 192

原创 【C】60.递归实现n的k次方

题目名称:递归实现n的k次方题目内容:编写一个函数实现n的k次方,使用递归实现#include <stdio.h>double pow(int n, int k) { if (k < 0) { return 1.0 / (pow(n, -k)); } else if (k == 0) { return 1; } else { return n * pow(n, k - 1); }}int main() { int n = 0; int k = 0;

2021-05-14 20:28:00 92

原创 【C】59.计算一个数的每位之和(递归实现)

题目名称:计算一个数的每位之和(递归实现)题目内容:写一个递归函数digitsum(n),输入一个非负整数,返回组成它的数字之和,例如,调用digitsum(1729),则应该返回1+7+2+9,它的和是19,输入1729,输出19#include <stdio.h>int digitsum(unsigned int m) { if (m > 9) { return digitsum(m / 10) + m % 10; } else { return m; }}i

2021-05-14 20:12:15 198

原创 【C】58.字符串逆序(递归实现)

题目名称:字符串逆序(递归实现)题目内容:编写一个函数reverse_string(char *string)(递归实现)实现:将参数字符串中的字符反向排列要求:不能使用C函数库中的字符操作函数#include <stdio.h>int my_strlen(char* s) { int count = 0; while (*s != '\0') { count++; s++; } return count;}void reverse_string(char a[

2021-05-14 19:51:35 42

原创 【C】57.乘法口诀表

题目名称:乘法口诀表题目内容:实现一个函数,打印乘法口诀表,口诀表的行数、列数自己指定,如:输入9,输出99口诀表,输入12,输出1212的乘法口诀表#include<stdio.h>void print_table(int m) { int i = 0; for (i = 1; i <= m; i++) { int j = 0; for (j = 1; j <= i; j++) { printf("%d*%d=%-3d", i, j, i * j);

2021-05-14 19:13:37 93

原创 【C】56.使用指针打印数组内容

题目名称:使用指针打印数组内容题目内容:写一个函数打印arr数组的内容,不使用数组下标,使用指针,arr是一个整形一维数组#include <stdio.h>void print(int* p,int sz) { int i = 0; for (i = 0; i < sz; i++) { printf("%d ", *(p + i)); }}int main() { int arr[] = { 1,2,3,4,5,6,7,8,9 }; int sz = sizeo

2021-05-14 18:57:15 153

原创 【C】55.打印二进制的奇数位和偶数位

打印二进制的奇数位和偶数位题目内容:获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列#include <stdio.h>void print(int m) { int i = 0; printf("奇数位:"); for (i = 30; i >= 0; i = i - 2) { printf("%d ", (m >> i) & 1); } printf("\n"); printf("偶数位:"); for (i = 31; i

2021-05-14 18:43:45 65

原创 【C】54.求二进制中不同位的个数

求二进制中不同位的个数编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?输入例子:1999 2999 输出结果:7#include <stdio.h>int get_diff_bit(int m, int n) { int t = m ^ n; int count = 0; while (t) { t = t & (t - 1); count++; } return count;}int main() { int m =

2021-05-14 18:27:23 50

原创 【C】53.补充:求一个整数存储在内存中的二进制中1的个数(见38)

补充:求一个整数存储在内存中的二进制中1的个数(见38)int count_bit( int n) { int count = 0; int i = 0; for (i = 0; i < 32; i++) { if (((n >> 1) & 1) == 1) { count++; } }}int main() { int a = 0; scanf_s("%d", &a); //求一个数在内存(补码)中二进制的个数 int count =

2021-05-14 10:54:06 45

原创 【C】46.将数组a中的内容和数组b中的内容进行交换(数组一样大)

将数组a中的内容和数组b中的内容进行交换(数组一样大)#include <stdio.h>int main() { int a[] = { 1,3,5,7,9 }; int b[] = { 2,4,6,8,0 }; int i = 0; int t = 0; int sz = sizeof(a) / sizeof(a[0]); for (i = 0; i < sz; i++) { t = a[i]; a[i] = b[i]; b[i] = t; } for

2021-05-13 18:30:27 43

原创 【C】创建一个整形数组,完成对数组的操作 1.实现函数init()初始化数组为全0 2.实现print(),打印数组的每个数组 3.实现reverse()函数完成数组元素的逆置

创建一个整形数组,完成对数组的操作1.实现函数init()初始化数组为全02.实现print(),打印数组的每个数组3.实现reverse()函数完成数组元素的逆置#include <stdio.h>//初始化函数void init(int a[], int sz) { int i; for (i = 0; i < sz; i++) { a[i] = 0; }}//打印函数void print(int arr[], int sz) { int i = 0;

2021-05-13 18:05:38 1678

原创 【C】43.利用指针,来求字符串的长度(模拟实现strlen的功能)

利用指针,来求字符串的长度(模拟实现strlen的功能)#include <stdio.h>int my_strlen(char* a) { char* start=a; char* end = a; while (*end != '\0') { end++; } return end - start;}int main() { //创建一个字符数组 char a[] ="good"; int len = my_strlen(a); printf("%d\n",

2021-05-13 16:18:58 332

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除