int函数

Leetcode刷题笔记(部分非原创)(1-20题)

怎甘沉沦 提交于 2020-03-08 23:49:56
1. Two Sum leetcode链接: https://oj.leetcode.com/problems/two-sum/ 最基础的一道题,方法很多,用HashMap存pair是一种(HashSet和HashMap的方法在这里原理是一样的)。也可以sort the whole array first,then use two pointers, one start from the left side, the other from the right side. if array[left]+array[right]>target, move the right index to the left by 1, 小于的话同理. 这里给一个HashMap的方法。 1 public int[] twoSum(int[] numbers, int target) { 2 HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(); 3 int[] result = new int[2]; 4 for(int i = 0; i < numbers.length; i++) { 5 if(map.containsKey(numbers[i])) { 6 int index = map.get(numbers[i]);

1125: 上三角矩阵的判断

跟風遠走 提交于 2020-03-08 22:59:27
1125: 上三角矩阵的判断 时间限制: 1 Sec 内存限制: 128 MB 提交: 6923 解决: 4248 [状态] [讨论版] [提交] [命题人:admin] 题目描述 编写程序,输入一个正整数n(1<=n<=10)和n阶方阵a中的元素,如果a是上三角矩阵,输出“YES”,否则,输出“NO”。 上三角矩阵即主对角线以下(不包括主对角线)的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。 要求定义函数IsUpperTriMatrix()判断矩阵a是否是上三角矩阵,如果是返回1,否则返回0。函数原型如下: int IsUpperTriMatrix(int a[][N], int n); 输入 输入一个正整数n(1<=n<=10)和n阶方阵a中的元素,均为整数。 输出 如果a是上三角矩阵,输出“YES”,否则,输出“NO” 样例输入 Copy 4 1 2 3 4 0 2 2 2 0 0 3 4 # include <stdio.h> int a [ 100 ] [ 100 ] ; int IsUpperTriMatrix ( int n ) { int i , j ; for ( i = 1 ; i < n ; i ++ ) { for ( j = 0 ; j < i ; j ++ ) { if ( a [ i ] [ j ] != 0 ) return ( 0 )

Java经典算法:因素组合

丶灬走出姿态 提交于 2020-03-08 21:05:26
数字可以视为其因素的产物。例如, 8 = 2 x 2 x 2; = 2 x 4。 编写一个接受整数n并返回其因子所有可能组合的函数。 注意: 您可以假设n始终为正。 因子应大于1且小于n。 Java解决方案 public List<List> getFactors(int n) { List<List> result = new ArrayList<List>(); List list = new ArrayList(); helper(2, 1, n, result, list); return result;} public void helper(int start, int product, int n, List<List> result, List curr){ if(start>n || product > n ) return ; if(product==n) { ArrayList<Integer> t = new ArrayList<Integer>(curr); result.add(t); return; } for(int i=start; i<n; i++){ if(i*product>n) break; if(n%i==0){ curr.add(i); helper(i, i*product, n, result, curr); curr.remove

Flutter高手秘籍之Dart函数(方法)(三)

你离开我真会死。 提交于 2020-03-08 20:50:11
前言 前两篇文章分别讲解了Dart中的变量和内置类型,对Dart的基本语法已经有了了解,那么今天来说一下Dart中的函数,也就是方法。前两篇文章没有看的,建议先看一下前两篇文章。 Flutter高手秘籍之Dart变量 Flutter高手秘籍之Dart内置类型 Flutter高手秘籍之Dart函数(方法) Flutter高手秘籍之Dart操作符、流程控制语句、异常 Flutter高手秘籍之Dart类的点点滴滴 Flutter高手秘籍之Dart泛型和库 定义 可在函数内定义 void main(){ void test(){ } } 和Java不同,Dart中的函数可以定义在函数内部(和Java的匿名内部类别搞混了) 定义函数时可省略类型(不建议) main(){ test(){ // return null; } } 上面的函数可以写成下面这样,Dart中函数是Function类型的对象。所有的函数都返回一个值。如果没有指定返回值,则 默认把语句 return null; 作为函数的最后一个语句执行。 支持缩写语法 => (Kotlin是用=来实现) main(){ print(test1()); } test()=> "zhujiang"; String test1(){ return "zhujiang"; } 上面代码中的test()和test1()效果是一样的,“=>

C语言函数2

拈花ヽ惹草 提交于 2020-03-08 20:28:32
函数 函数链式访问 把一个函数的返回值作为另外一个函数的参数。 # include <stdio.h> # include <string.h> int main ( ) { char arr [ 20 ] = "hello" ; int ret = strlen ( strcat ( arr , "bit" ) ) ; printf ( "%d\n" , ret ) ; return 0 ; } # include <stdio.h> int main ( ) { printf ( "%d" , printf ( "%d" , printf ( "%d" , 43 ) ) ) ; return 0 ; } 函数的声明和定义 函数声明: 函数的声明一般出现在函数的使用之前。要满足先声明后使用。 函数的声明一般要放在头文件中的。 函数声明是为了告诉编译器有一个函数,参数,返回类型。 # ifndef __TEST_H__ # define __TEST_H__ //函数的声明 int Add ( int x , int y ) ; # endif //__TEST_H__ 函数定义: 函数的定义是指函数的具体实现,交代函数的功能。 # include "test.h" //函数的实现 int Add ( int x , int y ) { return x + y ; } 来源:

数组与指针

倾然丶 夕夏残阳落幕 提交于 2020-03-08 20:07:06
1、数组元素的指针    一 个变量有地址,一个数组包含若干元素,每个数组元紫都在内存中占用存储单元,它们都有相应的地址。指针变量既然可以指向变量,当然也可以指向数组元素(把某元素的地址放到一个指针变量中)。所谓数组元索的指针就是数组元素的地址。引用数组元素可以用下标法(如a[3]),也可以用指针法,即通过指向数组元素的指针找到所需的元素。使用指针法能使目标程序质量高(占内存少,运行速度快)。 /*定义一个指向数组元素的指针变量的方法*/ int a[10]; //定义a为包含10个整型数据的数组 int *p; //定义p为指向整型变量的指针变量 /*应当注意:如果数组为int型,则指针变量的基类型也为int型,下面对该指针变量赋值*/ p=&a[0]; //把a[0]元素的地址赋给指针变量p /*C语言规定,数组名代表数组中首元素的地址*/ p=&a[0] <=> p=a //等价关系 /*注意数组名a不代表整个数组,上述p=a的作用是把a数组元素的首地址赋给指针变量p,而不是将数组a各元素的值赋给p*/ 2、通过指针引用数组元素    假设p已定义为一个指向整型数据的指针变量,并已给它赋了一个整型数组元素的地址,使它指向某一个数组元素。如果有赋值语句:*p=1; 表示将1赋给ρ当前所指向的数组元素。按C语言的规定:如果指针变量p已指向数组中的一个元素,则p

LeetCode: 322. 零钱兑换(dp)

我们两清 提交于 2020-03-08 19:26:52
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 + 5 + 1 示例 2: 输入: coins = [2], amount = 3 输出: -1 说明: 你可以认为每种硬币的数量是无限的。 class Solution { public: int coinChange(vector<int>& coins, int amount) { if(amount == 0) return 0; int cnt[amount + 1] = {0}; //----------初始化---------------- cnt[0] = 0; for(int i = 0; i < coins.size(); i++){ if(coins[i] <= amount) cnt[coins[i]] = 1; } //------------dp------------------ //Transformation equation: cnt[n] = min{cnt[n - coin1], cnt[n - coin2], ..., cnt[n- coink]} + 1 for

大一新生备战2020蓝桥杯

纵然是瞬间 提交于 2020-03-08 18:43:32
一:错误票据 关键字:排序 题目: 资源限制时间限制:1 .0s 内存限制:256.0MB问题描述 某涉密单位下发了某种票据,并要在年终全部收回。 每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。 你的任务是通过编程,找出断号的ID和重号的ID。 假设断号不可能发生在最大和最小号。 输入格式 要求程序首先输入一个整数N(N<100)表示后面数据行数。 接着读入N行数据。 每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000),请注意行内和行末可能有多余的空格,你的程序需要能处理这些空格。 每个整数代表一个ID号。 输出格式 要求程序输出1行,含两个整数m n,用空格分隔。 其中,m表示断号ID,n表示重号ID 样例输入1 2 5 6 8 11 9 10 12 9 样例输出1 7 9 样例输入2 6 164 178 108 109 180 155 141 159 104 182 179 118 137 184 115 124 125 129 168 196 172 189 127 107 112 192 103 131 133 169 158 128 102 110 148 139 157 140 195 197 185 152

实验3 循环语句

浪尽此生 提交于 2020-03-08 18:26:01
实验结论 Part2: 补足程序,使程序符合题目要求并正确运行 编程找出5个整数中的最大数和最小数,并输出找出的最大数和最小数。 完整代码如下: #include <stdio.h> #include <stdlib.h> int main() { int number, max, min, n; n=1; printf("输入第%d个数: ", n); scanf("%d", &number); max = number; min = number; while(n<5) { n++; printf("输入第%d个数: ", n); scanf("%d", &number); if(number>max) max = number; else if(number<min) min = number; } printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); system("pause"); return 0; } 运行结果如下: Part3: 编程练习 编程输出101-200之间所有素数,并输出这一区间内素数个数。 完整代码如下: //编程输出101-200之间所有素数,并输出这一区间内素数个数。 #include <stdio.h> #include <math.h> int isprime(int n); int main

C/C++库函数

≯℡__Kan透↙ 提交于 2020-03-08 17:59:33
C/C++库函数-2020-3-8 函数名 函数模型 功能 返回值 头文件 abs int abs(int x) 求整数x的绝对值 计算结果 #include <stdlib.h> 或 #include <cstdlib> fabs double fabs(double x) 求x的绝对值 计算结果 #include <math.h> islower int islower(int ch) 检查ch是否小写字母 是,返回1,否,返回0 #include <ctype.h> 或 #include<cctype cos double cos(double x) 计算cos(x) 计算结果 #include <math.h> pow double pow(double x,double y) 计算x y 的值 计算结果 #include <math.h> rand int rand(void) 产生随机数 随机整数 #include <stdlib.h> 或 #include <cstdlib> toupper int toupper(int ch) 将ch字符转换成大写字母 与ch相应的大写字母 #include <ctype.h> 或 #include<cctype strlen unsigned int strlen(char *str) 统计字符串str中字符个数 返回字符个数