数组

PHP 常用函数

二次信任 提交于 2020-03-19 11:22:12
变量: var_dump($val) 、 print_r($val) //打印变量 serialize($val)、unserialize($val)//用于序列化对象或数组,并返回一个字符串 类型转换: (int),(bool),(float),(string),( array ),(object)($val); $b=(int)$ a; //把$a转换为整形 intval (), floatval (); strval () $b= intval ($ a);//获取$a中整形数值 类型 判断: empty() / isset() / unset() // isset函数用于检测变量为非null值; empty判断是否为"空",其中 空字符串、0、false都为真; is_bool /int/float/string/ array /object/resource/null() is_numberic();’ //判断是否为任何类型的数字或者数组字符串 is_callable (); //判断是否为有效函数名称 eg:is_int ($val); //判断 b是否为整形,返回bool值 字符串函数: strlen($str);//返回字符串长度 mb_strlen($str) 可以返回中文字符长度; strtolower($str);//字母转小写 strtoupper(

返回二维数组最大联通子数组的和

无人久伴 提交于 2020-03-19 09:56:46
题目:返回二维数组最大联通子数组的和 设计思路:首先,利用文件读入读出流,读取二维数组,再利用降维的思想,求每一行的最大子数组块,遍历所有行,再将各行的最大子数组块进行判断合并。 代码: #include<iostream> #include<fstream> using namespace std; # define N 100 int zuida(long long int n, long long int a[], long long int *p, long long int *q)//一维数组的最大子数组和 { long long int b[N] = { 0 }; long long int i, sum1 = 0, max1 = 0; for (i = 0; i<n; i++) { if (sum1<0) { sum1 = a[i]; } else { sum1 = sum1 + a[i]; } b[i] = sum1; } max1 = b[0]; for (i = 0; i<n; i++) { if (max1<b[i]) { max1 = b[i]; *q = i; //记录最大子数组的终点位置 } } for (i = *q; i >= 0; i--) { if (b[i] == a[i]) { *p = i;//记录最大子数组的起点 break; } }

JavaScript的基础学习(一)

只愿长相守 提交于 2020-03-19 08:55:14
一、JavaScript概述 JavaScript 的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,( Brendan Eich) 在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的克隆版叫Jscript. 为了统一三家,ECMA( 欧洲计算机制造协会)定义了ECMA-262规范.国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。从此,Web 浏览器就开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。EcmaScript是规范. ECMAScript 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 核心(ECMAScript) 文档对象模型(DOM)

C语言总结2

廉价感情. 提交于 2020-03-19 08:42:36
12).预处理指令 1. 什么叫做预处理代码. 以#开头的代码就是预处理代码 #warning #import 2. 手写1个C程序的步骤.(面试题) 1>编写代码 2>编译 1)执行.c中的预处理代码 2)检查语法 3>链接 4>执行 3. 预处理指令的分类.(面试题) ****** 1>文件包含指令 #include 2>宏定义 #define (用来替换代码) 3>条件编译 #if (满足一定的条件才编译) 4. 预处理指令的特点. 1>都是以#开头 2>后面没有分号 3>在编译的时候,检查语法之前进行 "注意 以#开头的代码就是预处理代码 13).sizeof运算符 sizeof运算符的作用? 作用:计算常量,变量在当前系统上内存中所占的字节数 sizeof (数据类型) sizeof (变量)-----用的最多! sizeof (常量) 注意, char类型的变量在内存中占1个字节; char类型的常量在内存中占4个字节; 综上所述,为了安全起见,sizeof后面最好加上括号! 14).按位异或 ^ 异或运算 不同为1,相同为0 注意: 1 相同整数相^的结果是0; 2 一个整数^另一个整数2次结果不变 ; 3^2^2 = 3 3 整数相^跟顺序无关 3^2^3 = 2^3^3 = 2 15). 按位左移或者右移 1,按位左移运算. << 参与按位左移运算的二进制数据.

指针系统学习2

故事扮演 提交于 2020-03-19 08:42:14
1.数组与指针   一个变量有地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址。   指针变量既然可以指向变量,当然也可以指向数组元素(把某一元素的地址放到一个指针变量中)。   所谓数组元素的指针就是数组元素的地址。 2.指向数组元素的指针   定义一个指向数组元素的指针变量的方法,与以前介绍的指向变量的指针变量相同。   例如:   int a[10];(定义a为包含10个整型数据的数组)   int *p; (定义p为指向整型变量的指针变量)。   应当注意,如果数组为int型,则指针变量的基类型亦应为int型。 3.下面是对该指针变量赋值:   p = &a[0];把a[0]元素的地址赋给指针变量p。 也就是使p指向a数组的第0号元素,见图 -->> 4.通过指针引用数组元素:   引用一个数组元素,可以用:   (1) 下标法,如 a[i] 形式;   (2) 指针法,如*(a+i)或*(p+i)。   其中的a是数组名,p是指向数组元素的指针变量,其初值 p=a。   注意:数组名即“翻译成数组的第一个元素的地址! 例题: 输出数组中的全部元素 假设有一个a数组,整型,有10个元素。要输出各元素的值有三种方法: (1) 下标法 #include <stdio.h> void main() { int a[10]; int i; for(

3.前端笔记之JavaScript基础

只谈情不闲聊 提交于 2020-03-19 08:12:45
作者:刘耀 部分内容参考一下链接 参考: http://www.cnblogs.com/wupeiqi/articles/5369773.html http://javascript.ruanyifeng.com/oop/basic.html http://www.cnblogs.com/gaojun/archive/2013/10/24/3386552.html 一、JavaScript简介 JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 二、组成部分 ECMAScript,描述了该语言的语法和基本对象 文档对象模型(DOM),描述处理网页内容的方法和接口。 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。 三、一些简单案例 注:显示结果请自行测试 1.简单的html输出 <script> document.write('<h1>我是你耀哥</h1>') </script> 此脚本请在开头测试,如果在尾部测试,那么会覆盖整个html页面 2.简单的点击按钮弹出提示 <!DOCTYPE html> <html> <head lang="en">

php函数 极简版

只谈情不闲聊 提交于 2020-03-19 03:27:34
explode() implode() substr() str_replace() str_ireplace() strchar() strrchar() strstr() strpos() stripost() strlen() count() array() array_combine() range() compact() array_fill() array_chunck() array_merge() array_slice() 取值 返回 array_splice() 取值 替换 array_diff() 差集 array_intersect() 交集 array_search() array_sum() array_key_exists() in_array() key() current() next() prev() end() reset() list($a,$b,$c) = $array; 用数组中的元素为一组变量赋值 array_shift() array_unshift() array_push() array_pop() shuffle() 数组洗牌 打乱 array_flip() 键值反转 array_keys() arrya_values() array_reverse() 反转 array_count_values() array_rand()

JS内置对象

假如想象 提交于 2020-03-18 21:58:27
1.什么是对象 JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有 属性 和 方法 。 对象的属性: 反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等; 对象的方法: 能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等; JavaScript 提供多个内建对象,比如 String、Date、Array 等等,使用对象前先定义,如下使用数组对象: var objectName =new Array();//使用new关键字定义对象 或者 var objectName =[]; 访问对象属性的语法: objectName.propertyName 如使用 Array 对象的 length 属性来获得数组的长度: var myarray=new Array(6);//定义数组对象 var myl=myarray.length;//访问数组长度length属性 以上代码执行后,myl的值将是:6 访问对象的方法: objectName.methodName() 如使用string 对象的 toUpperCase() 方法来将文本转换为大写: var mystr="Hello world!";//创建一个字符串 var request=mystr.toUpperCase(); //使用字符串对象方法

leecode刷题(19)-- 最长公共前缀

守給你的承諾、 提交于 2020-03-18 21:48:45
leecode刷题(19)-- 最长公共前缀 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 "" 。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。 思路: 这道题我用的是暴力破解的方法,遍历字符串数组,依次比较每个字符,如果都相等,则长度加一再比较,如果不相等,则返回之前的字符。 代码如下: class Solution { public String longestCommonPrefix(String[] strs) { if (strs.length == 0) return ""; StringBuilder res = new StringBuilder(); for (int i = 0; i < strs[0].length(); i++) { int j = 1; for (; j < strs.length; j++) { if (strs[j].length() <= i || strs[0].charAt(i) != strs[j].charAt(i)) { return res.toString(); } }

HashMap为什么是线程不安全的

こ雲淡風輕ζ 提交于 2020-03-18 18:03:59
3 月,跳不动了?>>> HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出现同时在同一数组下用链表表示,造成闭环,导致在get时会出现死循环,所以HashMap是线程不安全的。 来源: oschina 链接: https://my.oschina.net/u/4167465/blog/3197585