当前位置: 首页 > news >正文

龙游网站建设北京建商城网站

龙游网站建设,北京建商城网站,小广告清理整治,个人做美食视频网站1.整数除法 思想#xff1a;不能用除法、乘法、取余#xff0c;那么可以用减法完成除法的操作#xff0c;但是在减去被除数的时候#xff0c;可以考虑被除数1扩大一倍在进行减少#xff0c;加快减的速率。 2.二进制加法 思想#xff1a;从末尾向前遍历#xff0…1.整数除法 思想不能用除法、乘法、取余那么可以用减法完成除法的操作但是在减去被除数的时候可以考虑被除数1扩大一倍在进行减少加快减的速率。 2.二进制加法 思想从末尾向前遍历类似这种有长短不一的需要累计的时候可以采用for i0 || j 0 {内部在进行判断该值是否有贡献} 3.前n个数二进制1的个数 这里隐藏着2的倍数和之间二进制1的个数的关系2和4的二进制个数相等。 4.出现1次的数字其余都是三次 原版本是找出出现一次的数字其余都是出现两次这个只需要全部异或就能得出答案但是出现三次的要进行过滤的话需要从二进制的角度去考虑某一位数组中累积和事3的倍数的话这一位置肯定是出现三次的否则是一位中的。注意go语言中int是变化的在这个题目中需要指定int32否则会出现溢出的情况。 5.单词长度最大的乘积 题目要求两个字符串之间没有字符交集 暴力做法在单词数组中找出两个互补包含相同字符的串的乘积的最大值思路是采用暴力双层遍历先对数组按照字符串的长度进行降序排序关键是如何快速判断两个字符串包含相同的字符超时做法是用一个map记录a然后在判断b取巧的方式是采用strings.indexByte内置的api。 二进制做法(位运算)因为字符串只包含小写的英文字母那么判断两个字符串是否有相同的字符可以考虑将字符串转换成数字通过ab 0 表示字符串没有共同字符。 6.排序数组中找出两个数之和等于target 方法一直接采用二分查找去做方法二可以采用变循环边加入map通过map[tar-val]判断是否存在一遍就能找出答案。 7.找出数组中三数之和为零的数 先排序然后可以用两层遍历去重复判断i ! 0 nums[i] ! nums[i-1最后一维可以采用二分查找来做。 8.找出最短的字数组的和大于等于target的长度 暴力法先计算前缀和然后通过暴力从短到长的进行判断。 滑动窗口由小窗口在逐渐变大达到目的值的时候在逐渐减少数组都是正数。 func numSubarrayProductLessThanK(nums []int, k int) int {res : 0left : 0right : 0cv : 1for right len(nums){cv * nums[right]for left right cv k { // 如果当前的滑动窗口需要进行变化cv / nums[left]left}res res (right - left 1) // 含义以right结尾的所有满足条件字数组的情况right}return res } 前缀和二分查找由于本题目的前缀和是递增的因此也可以考虑用二分查找需要的值 9.找出子数组中积少的target的个数 滑动窗口(数组中都为正数) func numSubarrayProductLessThanK(nums []int, k int) int {res : 0left : 0right : 0cv : 1for right len(nums){cv * nums[right]for left right cv k { // 如果当前的滑动窗口需要进行变化cv / nums[left]left}res res (right - left 1) // 含义以right结尾的所有满足条件字数组的情况right}return res } 10.和为k的子数组 很容易根据上面题目联想到使用滑动窗口但是这题目nums中包含非正数这导致了滑动窗口不知道往哪边滑因此不能采取。 暴力法枚举出所有的情况最后几个用例超时了(暴力写法纠正)纠正暴力写法之后通过。 动态规划法让我想到了01背包问题01背包包括是否重复选但是这里又和01重复选背包不同这里要求是连续数组。 可以采用前缀和加map一层遍历解决思想和找出数组中两数之和为tar的方法一样。 遍历map写法只要target确定可以考虑这种写法  func subarraySum(nums []int, k int) int {count, pre : 0, 0m : map[int]int{}m[0] 1for i : 0; i len(nums); i {pre nums[i]if _, ok : m[pre - k]; ok {count m[pre - k]}m[pre] 1}return count } 暴力写法的纠正  // 通过写法 func subarraySum(nums []int, k int) int {preSum : make([]int , len(nums))cv : 0res : 0for i : 0 ; i len(nums); i{cv nums[i]preSum[i] cv}// fmt.Println(preSum)for i : 0 ; i len(nums); i{for j : i ; j len(nums); j{cv : preSum[j]if i ! 0{cv - preSum[i-1]}if cv k{res }}}return res } // 超时写法很好理解代码的思路但是超时 func subarraySum(nums []int, k int) int {preSum : make([]int , len(nums))cv : 0res : 0for i : 0 ; i len(nums); i{cv nums[i]preSum[i] cv}// fmt.Println(preSum)for clen: 1; clen len(nums); clen{for i : 0 ; i len(nums) - clen; i{j : i clen - 1if j len(nums){break}cv : preSum[j]if i ! 0{cv - preSum[i-1]}if cv k{res}// fmt.Println(cv)}}return res }
http://www.hkea.cn/news/14285908/

相关文章:

  • 怎样上传自己的网站公司网站可以做无形资产么
  • 沈阳seo网站关键词优化设计软件手机版免费
  • 哪里有做网站系统的淘客网站建设要求
  • 医药网站开发手机端网站提交表单验证代码
  • 品牌网站建设哪家公司好wordpress 漫画在线
  • 品牌建设对企业的作用东莞营销网站建设优化
  • 个人备案的网站 做企业站游戏直播网站怎么做
  • 山东做外贸网站的公司wordpress4.5.3免费中文主题
  • 中山网站建设模板网络公司网站转微信小程序开发
  • 网站充值提现公司账务怎么做100个好听到爆的公司名字
  • 食品网站建设网站定制开发百度识图搜索引擎
  • 宁波奉化建设局网站深圳网络提速优化服务包
  • 深圳服务好的网站建设整合营销传播的定义
  • 东莞网站关键词优化收费乐清市建设路小学网站
  • 公司网站建设费用怎么记账设计之路 网站
  • 阿里巴巴网站运营怎么做上海网站络公司
  • 如何保存网页上的视频seo外链怎么做
  • 乐清网站制作推荐网站建设的岗位要求
  • 广州 网站制自己建网站卖东西怎么样
  • 网站引擎友好性分析j2ee 建设简单网站
  • 2012系统 做网站ug wordpress
  • 优酷视频网站开发企点账户中心
  • 做代还的人都聚集在哪些网站企业开源网站系统
  • 做网站的技术风险网络运维app
  • 网站设计在线培训机构甜品店网页模板html
  • 陕西建设分行网站wordpress改域名后500
  • 做网站如何接单php网站做安卓客户端
  • ip段访问网站代码西安市做网站公司
  • 网站部署设计洛阳做网站公司有哪些
  • 济南济南网站建设网站建设wordpress多媒体大小