num

unity3d随机地牢生成代码

房东的猫 提交于 2020-04-02 17:34:05
现在也是处于失业状态,碰巧看到个面试题是要用unity生成个随机地牢,就把做题过程中的思路和代码记录一下吧。 做完了以后我又想了一下,发现其实根本不需要这么麻烦,果然demo里的代码对我的思路影响还是有点大。demo里的c++代码为了展示地牢的墙壁,在二维数组中加上了wall这个东西表示墙壁。事实上用unity来做的话,只需要考虑地板的位置,然后根据邻接的地板有没有东西来判断是否生成墙壁即可。 Demo 使用素材以及题目地址: http://pan.baidu.com/s/1c2l3RFE 密码:aseh 首先用一个枚举类型代表地牢迷宫中的各个元素: public enum Tile { Default, DirtFloor,// 房间地板 Wall_w,//上方的墙 Wall_s,//下方的墙 Wall_a,//左方的墙 Wall_d,//右方的墙 Corridor_ad,//横向走廊 Corridor_ws,//纵向走廊 Door,// 房门 UpStairs,// 入口 DownStairs// 出口 } 然后考虑使用二维数组来保存地牢元素的信息。既然是用unity来做,先不考虑随机地牢的逻辑数组要怎么生成,先把二维数组转化为实体的方法写出来: 建立一个test脚本,用于测试生成用的creat_dungeon方法是否好用,并在里面定义一个测试用的二维数组: using

Find Minimum in Rotated Sorted Array leetcode java

耗尽温柔 提交于 2020-04-02 15:07:44
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2 ). Find the minimum element. You may assume no duplicate exists in the array. 解题思路: 首先假设一个sorted没有rotated的数组[1,2,3],假设我们通过一个pivot把这个数组rotate,那么结果可能为:[2,3,1], [3,1,2], 可以发现:num[low]永远大于(或等于)num[high]。因为你之前是sorted的数组,你在一个sorted的数组找了一个pivot进行rotate,那么比如pivot后面的值都大于pivot之前的值。所以依据这个发现,以及二分法查找。我们可以根据以下判断来解题。num[mid]有两种可能性,如果num[mid] > num[high],证明num[mid]在rotated后的那个区间内,这个区间我们刚才已知都大于pivot之前的值,所以最小值就在low=mid+1那个区间内。另一种可能,num[mid] <= num[high],那么我们刚才可以看出来这种可能性说明mid~high以及是排好序的

CodeForces - 617E XOR and Favorite Number (莫队+前缀和)

半腔热情 提交于 2020-04-02 07:33:25
Bob has a favorite number k and a i of length n . Now he asks you to answer m queries. Each query is given by a pair l i and r i and asks you to count the number of pairs of integers i and j , such that l  ≤  i  ≤  j  ≤  r and the xor of the numbers a i ,  a i  + 1 , ...,  a j is equal to k . Input The first line of the input contains integers n , m and k ( 1 ≤  n ,  m  ≤ 100 000, 0 ≤  k  ≤ 1 000 000) — the length of the array, the number of queries and Bob's favorite number respectively. The second line contains n integers a i ( 0 ≤  a i  ≤ 1 000 000) — Bob's array. Then m lines follow. The i

shell_script1

倖福魔咒の 提交于 2020-04-02 07:32:55
1、简介 2、read 3、运算工具 4、if/then结构 5、while循环 6、for循环 一、简介 1、什么是shell shell是用户与系统交互作用的界面。shell是一种命令解释程序,同时也是一种高级程序设计语言 2、shell常见种类 Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) Shell for Root(/sbin/sh) 其中:Bash在日常工作中被广泛使用; 同时,Bash也是大多数Linux系统默认的Shell; 3、shell局限性 1.1、需要耗费大量资源的任务,特别是对执行速度要求较高的场合 1.2、涉及大量的数学计算 1.3.、关键性应用(数据库,网站等) 1.4.、设计图形或者GUI的应用 1.5.、需要直接访问硬件 1.6.、开发闭源的应用(相对于开源) 4、基础 文件系统:Linux 的文件系统是一个包含了目录和文件的分层的组织结构,位于最顶端的叫做根目录(root directory),用斜杠/ 来表示 目录: 是一种包含目录项的文件,每个目录项中都包含了文件名 文件名: 目录的内容称为目录项,目录项包含了文件名,只有两种字符不允许出现在文件名中:斜杠,空字符(ASCII

php常用的优化手段

孤街醉人 提交于 2020-04-02 06:25:22
由于工作码成狗,抽闲整理了下内容, 以下是网上流传比较广泛的30种SQL查询语句优化方法: 1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 4、尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num=10 or num=20 可以这样查询: select id from t where num=10 union all select id from t where num=20 5、下面的查询也将导致全表扫描:(不能前置百分号) select id from t where name like '%abc'; 若要提高效率,可以考虑全文检索。 6、in 和 not in 也要慎用,否则会导致全表扫描,如:

结对项目Myapp

核能气质少年 提交于 2020-04-02 06:20:49
· Github地址: https://github.com/Dioikawa/Myapp ·成员: 陈杰才(3118005089) 蔡越(3118005086) ·耗费时间估计: PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 Estimate 估计这个任务需要多少时间 30 Development 开发 13 Analysis 需求分析 (包括学习新技术) 60 Design Spec 生成设计文档 0 Design Review 设计复审 (和同事审核设计文档) 0 Coding Standard 代码规范 (为目前的开发制定合适的规范) 10 Design 具体设计 180 Coding 具体编码 1000 Code Review 代码复审 30 Test 测试(自我测试,修改代码,提交修改) 30 Reporting 报告 120 Test Report 测试报告 60 Size Measurement 计算工作量 30 Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30 总计 1460 · 程序结构(函数调用关系): ·关键代码展示:   ·生成题目文件函数:只能生成六种固定格式的题目,受数学题目的合法性限制

[LeetCode] 1090. Largest Values From Labels

非 Y 不嫁゛ 提交于 2020-04-01 08:53:13
使用 Java 爬取 LeetCode 题目内容以及提交的AC代码 传送门 Description We have a set of items: the i -th item has value values[i] and label labels[i] . Then, we choose a subset S of these items, such that: |S| <= num_wanted For every label L , the number of items in S with label L is <= use_limit . Return the largest possible sum of the subset S . Example 1: Input: values = [5,4,3,2,1], labels = [1,1,2,2,3], num_wanted = 3, use_limit = 1 Output: 9 Explanation: The subset chosen is the first, third, and fifth item. Example 2: Input: values = [5,4,3,2,1], labels = [1,3,3,3,2], num_wanted = 3, use_limit = 2 Output:

第七届蓝桥杯 方格填数

大兔子大兔子 提交于 2020-04-01 08:44:28
转载请注明出处:http://www.cnblogs.com/zhishoumuguinian/p/8359473.html 方格填数 如下的10个格子, 填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 1 #include <math.h> 2 #include <iostream> 3 using namespace std; 4 5 int ans = 0, flag[10] = {0};//flag数组标志数字是否已经填在方格中 6 7 8 int Check(int a[][4], int x, int y)//检查填在位置上的数组是否和法,不合法返回0, 9 { 10 if(x!=0)//如果不是第一行,那么就检查他上方的数 11 { 12 if(fabs(a[x][y]-a[x-1][y])==1) return 0; 13 } 14 if(y!=0)//如果不是第一列,检查前一个数。 15 { 16 if(fabs(a[x][y]-a[x][y-1])==1) return 0; 17 } 18 if(x>0&&y<3)//如果不是第一行,并且不是最后一列,检查右上方 19 { 20 if(fabs(a[x]

面试实战考核:设计一个高并发下的下单功能

和自甴很熟 提交于 2020-04-01 06:57:13
功能需求:设计一个秒杀系统 初始方案 商品表设计:热销商品提供给用户秒杀,有初始库存。 @Entity public class SecKillGoods implements Serializable{ @Id private String id; /** * 剩余库存 */ private Integer remainNum; /** * 秒杀商品名称 */ private String goodsName; } 秒杀订单表设计:记录秒杀成功的订单情况 @Entity public class SecKillOrder implements Serializable { @Id @GenericGenerator(name = "PKUUID", strategy = "uuid2") @GeneratedValue(generator = "PKUUID") @Column(length = 36) private String id; //用户名称 private String consumer; //秒杀产品编号 private String goodsId; //购买数量 private Integer num; } Dao设计:主要就是一个减少库存方法,其他CRUD使用JPA自带的方法 public interface SecKillGoodsDao extends

Codeforces Round #223 (Div. 2)

强颜欢笑 提交于 2020-04-01 04:28:47
Sereja and Dima 1Y 直接按着题目给的方法模拟就好了 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <queue> 5 #include <map> 6 #include <algorithm> 7 #include<stack> 8 #define maxlen 1010 9 using namespace std; 10 int n; 11 int num[maxlen]; 12 int main () 13 { 14 while(scanf("%d",&n)!=EOF) 15 { 16 for(int i=0;i<n;++i) 17 scanf("%d",&num[i]); 18 int i=0,j=n-1; 19 int cnt=1; 20 int sum0=0,sum1=0; 21 while(cnt<=n) 22 { 23 if(cnt&1) 24 { 25 if(num[i]>num[j]) 26 { 27 sum0+=num[i]; 28 i++; 29 } 30 else 31 { 32 sum0+=num[j]; 33 j--; 34 } 35 } 36 else 37 { 38 if(num[i]>num[j]) 39 { 40 sum1+